diff --git a/sqlbatis/sqlbatis_dao.py b/sqlbatis/sqlbatis_dao.py index 3938168..27677cf 100644 --- a/sqlbatis/sqlbatis_dao.py +++ b/sqlbatis/sqlbatis_dao.py @@ -115,9 +115,12 @@ def bulk_insert(self, attrs): :return: TBI :rtype: TBI """ - with self.SQLBatis.get_connection() as conn: - result = conn.execute(self.table.insert().values(attrs)) - return result + if len(attrs) > 0: + with self.SQLBatis.get_connection() as conn: + result = conn.execute(self.table.insert().values(attrs)) + return result + + return None def _get_table_name(self): """ diff --git a/tests/crud.py b/tests/crud.py index b8f9f5c..b72b54f 100644 --- a/tests/crud.py +++ b/tests/crud.py @@ -53,4 +53,6 @@ def bulk_create(users): 'name': 'leo3' }] +users_null = [] + users_for_paged = [user for i in range(35)] diff --git a/tests/test_basic_dao.py b/tests/test_basic_dao.py index 46df5dd..c829d88 100644 --- a/tests/test_basic_dao.py +++ b/tests/test_basic_dao.py @@ -50,6 +50,14 @@ def test_5_bulk_insert(self): results = user_dao.retrieve_all().all() assert len(results) == 4 + def test_6_bulk_insert_null(self): + user_dao = UserDao() + pre_res = user_dao.retrieve_all().all() + user_dao.bulk_insert(users_null) + results = user_dao.retrieve_all().all() + + assert len(results) == len(pre_res) + if __name__ == '__main__': unittest.main()