def test_no_merge_records_bulk_insert_flush(self, apps_mock, tree_id_mock, BridgeMock): channel_import = ChannelImport('test') record_mock = MagicMock(spec=['__table__']) record_mock.__table__.columns.items.return_value = [('test_attr', MagicMock())] channel_import.destination.get_class.return_value = record_mock channel_import.table_import(MagicMock(), lambda x, y: 'test_val', lambda x: [{}]*10000, 0) channel_import.destination.session.bulk_insert_mappings.assert_has_calls([call(record_mock, [{'test_attr': 'test_val'}]*10000)]) channel_import.destination.session.flush.assert_called_once_with()
def test_merge_records_merge_flush(self, apps_mock, tree_id_mock, BridgeMock): from kolibri.content.utils.channel_import import merge_models channel_import = ChannelImport('test') record_mock = Mock(spec=['__table__']) record_mock.__table__.columns.items.return_value = [('test_attr', MagicMock())] channel_import.destination.get_class.return_value = record_mock model_mock = Mock() merge_models.append(model_mock) channel_import.table_import(model_mock, lambda x, y: 'test_val', lambda x: [{}]*10000, 0) channel_import.destination.session.merge.assert_has_calls([call(record_mock(**{'test_attr': 'test_val'}))]*10000) channel_import.destination.session.flush.assert_called_once_with()
def test_merge_records_merge_no_flush(self, apps_mock, tree_id_mock, BridgeMock): from kolibri.content.utils.channel_import import merge_models channel_import = ChannelImport('test') record_mock = MagicMock(spec=['__table__']) record_mock.__table__.columns.items.return_value = [('test_attr', MagicMock())] channel_import.destination.get_class.return_value = record_mock model_mock = MagicMock() model_mock._meta.pk.name = 'test_attr' merge_models.append(model_mock) channel_import.merge_record = Mock() channel_import.table_import(model_mock, lambda x, y: 'test_val', lambda x: [{}] * 100, 0) channel_import.destination.session.flush.assert_not_called()
def test_no_models_unflushed_rows_passed_through(self, apps_mock, tree_id_mock, BridgeMock): channel_import = ChannelImport('test') record_mock = MagicMock(spec=['__table__']) channel_import.destination.get_class.return_value = record_mock self.assertEqual( 0, channel_import.table_import(MagicMock(), lambda x, y: None, lambda x: [], 0))