示例#1
0
 def test_publish(self):
     logger = MagicMock()
     self.import_client = ImportClient(self.mock_dataset, self.mock_msg, logger)
     self.import_client.n_rows = 10
     self.import_client.filename = "filename"
     msg = self.import_client.get_result_msg()
     self.assertEqual(msg['contents_ref'], 'filename')
     self.assertEqual(msg['summary']['num_records'], 10)
     self.assertEqual(msg['header']['version'], 0.1)
示例#2
0
    def test_publish_delete_mode(self):
        logger = MagicMock()
        self.import_client = ImportClient(self.mock_dataset, self.mock_msg, logger, ImportMode.DELETE)
        self.import_client.n_rows = 0
        self.import_client.filename = "filename"

        app = self.mock_dataset['source']['application']
        entity = self.mock_dataset['entity']

        msg1 = f"Import dataset {entity} from {app} (mode = DELETE) started"
        logger.info.assert_called_with(msg1)

        self.import_client.get_result_msg()
        msg2 = f"Import dataset {entity} from {app} completed. " \
               "0 records imported, all known entities will be marked as deleted."
        logger.info.assert_called_with(msg2, kwargs={'data': {'num_records': 0}})
示例#3
0
def handle_import_msg(msg):
    dataset = extract_dataset_from_msg(msg)

    msg['header'] |= {
        'source': dataset['source']['name'],
        'application': dataset['source']['application'],
        'catalogue': dataset['catalogue'],
        'entity': dataset['entity'],
    }

    logger.configure(msg, "IMPORT")
    header = msg.get('header', {})

    # Create a new import client and start the process
    mode = ImportMode(header.get('mode', ImportMode.FULL.value))

    import_client = ImportClient(dataset=dataset,
                                 msg=msg,
                                 mode=mode,
                                 logger=logger)
    return import_client.import_dataset()
示例#4
0
    def test_init(self):
        logger = MagicMock()
        self.import_client = ImportClient(self.mock_dataset, self.mock_msg, logger)

        logger.info.assert_called()