Example #1
0
    def test_remove_errata_id_one_ok(self):

        # Preparations: Create patched connector
        # (Patched to avoid that message be sent, and to retrieve the created message)
        testconnector = TESTHELPERS.get_connector()
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested: Add errata
        testconnector.remove_errata_ids(drs_id=DRS_ID,
                                        version_number=DS_VERSION,
                                        errata_ids=ERRATA)

        # Check result: Was correct errata message created?
        expected_rabbit_task = {
            "handle": DATASETHANDLE_HDL,
            "operation": "remove_errata_ids",
            "message_timestamp": "anydate",
            "errata_ids": [ERRATA],
            "ROUTING_KEY": PREFIX_FOR_ROUTINGKEY + '.HASH.fresh.errata-rem',
            "drs_id": DRS_ID,
            "version_number": DS_VERSION
        }
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(
            testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(
            is_same,
            utils.compare_json_return_errormessage(expected_rabbit_task,
                                                   received_rabbit_msg))
Example #2
0
    def test_unpublish_all_versions_solr_off(self):

        # Preparations: Create patched connector
        testconnector = TESTHELPERS.get_connector(data_node=DATA_NODE,
                                                  solr_switched_off=True)
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested:
        testconnector.unpublish_all_versions(drs_id=DRS_ID)

        # Check result:
        expected_rabbit_task = {
            "operation": "unpublish_all_versions",
            "message_timestamp": "anydate",
            "data_node": DATA_NODE,
            "aggregation_level": "dataset",
            "drs_id": DRS_ID,
            "ROUTING_KEY":
            PREFIX_FOR_ROUTINGKEY + '.HASH.fresh.unpubli-allvers',
        }
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(
            testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(
            is_same,
            utils.compare_json_return_errormessage(expected_rabbit_task,
                                                   received_rabbit_msg))
Example #3
0
    def test_unpublish_all_versions_nosolr_ok(self, solr_asker_patch):

        # Patch: Make the coupler return None when we ask it
        # to find dataset versions...
        mydict = dict(dataset_handles=None, version_numbers=None)
        solr_asker_patch.return_value = mydict

        # Preparations: Create patched connector
        testconnector = TESTHELPERS.get_connector(data_node=DATA_NODE)
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested:
        testconnector.unpublish_all_versions(drs_id=DRS_ID)

        # Check result:
        expected_rabbit_task = {
            "operation": "unpublish_all_versions",
            "message_timestamp": "anydate",
            "data_node": DATA_NODE,
            "aggregation_level": "dataset",
            "drs_id": DRS_ID,
            "ROUTING_KEY":
            PREFIX_FOR_ROUTINGKEY + '.HASH.fresh.unpubli-allvers',
        }
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(
            testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(
            is_same,
            utils.compare_json_return_errormessage(expected_rabbit_task,
                                                   received_rabbit_msg))
Example #4
0
    def test_unpublish_one_version_with_consumer_url_ok(self):

        # Preparations: Make connector, but without
        # solr mock. This is to see that with consumer_solr_url,
        # the library does not try to access solr.
        testconnector = TESTHELPERS.get_connector(
            consumer_solr_url=SOLR_URL_CONSUMER, data_node=DATA_NODE)
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested: Unpublish one version
        testconnector.unpublish_one_version(drs_id=DRS_ID,
                                            version_number=DS_VERSION)

        # Check result:
        # We don't get the consumer_solr_url, because it is only
        # needed for unpublishing all versions.
        expected_rabbit_task = {
            "handle": DATASETHANDLE_HDL,
            "operation": "unpublish_one_version",
            "message_timestamp": "anydate",
            "aggregation_level": "dataset",
            "data_node": DATA_NODE,
            "ROUTING_KEY":
            PREFIX_FOR_ROUTINGKEY + '.HASH.fresh.unpubli-onevers',
            "drs_id": DRS_ID,
            "version_number": int(DS_VERSION)
        }
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(
            testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(
            is_same,
            utils.compare_json_return_errormessage(expected_rabbit_task,
                                                   received_rabbit_msg))
Example #5
0
    def test_unpublish_one_version_ok(self):

        # Preparations: Make patched connector with data node (needed for unpublish)
        testconnector = TESTHELPERS.get_connector(data_node=DATA_NODE)
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested: Unpublish
        testconnector.unpublish_one_version(drs_id=DRS_ID,
                                            version_number=DS_VERSION)

        # Check result:
        expected_rabbit_task = {
            "handle": DATASETHANDLE_HDL,
            "operation": "unpublish_one_version",
            "message_timestamp": "anydate",
            "aggregation_level": "dataset",
            "data_node": DATA_NODE,
            "ROUTING_KEY":
            PREFIX_FOR_ROUTINGKEY + '.HASH.fresh.unpubli-onevers',
            "drs_id": DRS_ID,
            "version_number": int(DS_VERSION)
        }
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(
            testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(
            is_same,
            utils.compare_json_return_errormessage(expected_rabbit_task,
                                                   received_rabbit_msg))
Example #6
0
    def test_unpublish_all_versions_nosolr__butconsumersolr_ok(self, solr_asker_patch):

        # Patch coupler
        mydict = dict(dataset_handles=None, version_numbers=None)
        solr_asker_patch.return_value = mydict

        # Preparations: Create patched connector
        testconnector = TESTHELPERS.get_connector(
            data_node = DATA_NODE,
            solr_url = SOLR_URL_LIBRARY,
            consumer_solr_url=SOLR_URL_CONSUMER
        )
        TESTHELPERS.patch_with_rabbit_mock(testconnector)

        # Run code to be tested:
        testconnector.unpublish_all_versions(
            drs_id=DRS_ID,
            data_node=DATA_NODE)

        # Check result:
        expected_rabbit_task = {
            "operation": "unpublish_all_versions",
            "message_timestamp": "anydate",
            "data_node": DATA_NODE,
            "aggregation_level":"dataset",
            "drs_id":DRS_ID,
            "ROUTING_KEY": ROUTING_KEY_BASIS+'unpublication.all',
            "consumer_solr_url":SOLR_URL_CONSUMER
        }        
        received_rabbit_msg = TESTHELPERS.get_received_message_from_rabbitmock(testconnector)
        is_same = utils.is_json_same(expected_rabbit_task, received_rabbit_msg)
        self.assertTrue(is_same, utils.compare_json_return_errormessage(expected_rabbit_task, received_rabbit_msg))