def test_insert_multiple_rows_not_square(self): # Insert a stray tab character, so that the input line will # find an extra column in the first row. source = self._get_source_string(4).replace('ACTIVE', 'AC\tTIVE', 1) task = self.create_task(source=source) with self.assertRaises(Exception): task.insert_rows(MagicMock())
def test_overwrite_with_empty_results(self): # A source of '' will result in a default source of one row, so add whitespace. task = self.create_task(source=' ', overwrite=True) with self.assertRaisesRegexp( Exception, 'Cannot overwrite a table with an empty result set.'): task.insert_rows(MagicMock())
def test_insert_row_to_predefined_table(self): task = self.create_task(cls=InsertToPredefinedMysqlDummyTable) cursor = MagicMock() task.insert_rows(cursor) query = cursor.execute.call_args[0][0] self.assertEquals(query, self._get_expected_query(1)) row_args = cursor.execute.call_args[0][1] self.assertEquals(row_args, self._get_expected_query_args(1))
def test_insert_multiple_rows(self): task = self.create_task(source=self._get_source_string(4)) cursor = MagicMock() task.insert_rows(cursor) query = cursor.execute.call_args[0][0] self.assertEquals(query, self._get_expected_query(4)) row_args = cursor.execute.call_args[0][1] self.assertEquals(row_args, self._get_expected_query_args(4))
def test_insert_multiple_rows_in_chunks(self): task = self.create_task(source=self._get_source_string(4), insert_chunk_size=2) cursor = MagicMock() task.insert_rows(cursor) execute_calls = cursor.execute.mock_calls self.assertEquals(len(execute_calls), 2) expected_query = self._get_expected_query(2) self.assertEquals(execute_calls[0][1][0], expected_query) self.assertEquals(execute_calls[1][1][0], expected_query) expected_row_args = self._get_expected_query_args(4) self.assertEquals(execute_calls[0][1][1], expected_row_args[:10]) self.assertEquals(execute_calls[1][1][1], expected_row_args[10:])
def test_overwrite_with_empty_results(self): # A source of '' will result in a default source of one row, so add whitespace. task = self.create_task(source=' ', overwrite=True) with self.assertRaisesRegexp(Exception, 'Cannot overwrite a table with an empty result set.'): task.insert_rows(MagicMock())
def test_overwrite_with_emtpy_results(self): task = self.create_task(source='', overwrite=True) with self.assertRaises(Exception): task.insert_rows(MagicMock())