Example #1
0
    def test_import_rows(self, mock_Reader):
        mock_reader = MagicMock()
        mock_Reader.return_value = mock_reader
        rows = ((1, 2), (3, 4))
        mock_reader.read.return_value = rows

        progress = MagicMock()
        write = MagicMock()

        _self = MagicMock()
        _self.logger = MagicMock()
        _self.injector.inject = MagicMock()
        _self.merger = MagicMock()
        _self.converter = MagicMock()
        entity = 'Entity'
        _self.converter.convert.return_value = entity
        _self.validator = MagicMock()
        ImportClient.import_rows(_self, write, progress)
        _self.logger.info.assert_called()
        self.assertEqual(_self.injector.inject.call_args_list, [call(c) for c in rows])
        self.assertEqual(_self.merger.merge.call_args_list, [call(c, write) for c in rows])
        self.assertEqual(_self.converter.convert.call_args_list, [call(c) for c in rows])
        self.assertEqual(_self.validator.validate.call_args_list, [call(entity) for c in rows])
        self.assertEqual(write.call_args_list, [call(entity) for c in rows])

        _self.validator.result.called_once_with()
        self.assertEqual(len(_self.logger.info.call_args_list), 3)
Example #2
0
    def test_import_row_too_few_records(self, mock_Reader):
        reader = MagicMock()
        mock_Reader.return_value = reader
        rows = set()
        reader.read.return_value = rows

        progress = MagicMock()
        write = MagicMock()

        _self = MagicMock()
        _self.mode = ImportMode.FULL
        _self.dataset = {}
        ImportClient.import_rows(_self, write, progress)

        _self.validator.result.assert_called_once_with()
        self.assertEqual(len(_self.logger.info.call_args_list), 3)
        self.assertEqual(len(_self.logger.error.call_args_list), 1)