Пример #1
0
    def test_get_by_set_spec_and_registry_id_raises_exception_if_internal_error(
            self, mock_get):
        # Arrange
        mock_absent_set_spec = ObjectId()
        mock_absent_registry_id = ObjectId()

        mock_get.side_effect = exceptions.ModelError("Error.")

        # Act + Assert
        with self.assertRaises(exceptions.ModelError):
            harvester_set_api.get_by_set_spec_and_registry_id(
                mock_absent_set_spec, mock_absent_registry_id)
Пример #2
0
    def test_get_by_set_spec_and_registry_id_raises_exception_if_object_does_not_exist(
            self, mock_get):
        # Arrange
        mock_absent_set_spec = ObjectId()
        mock_absent_registry_id = ObjectId()

        mock_get.side_effect = exceptions.DoesNotExist("Error.")

        # Act + Assert
        with self.assertRaises(exceptions.DoesNotExist):
            harvester_set_api.get_by_set_spec_and_registry_id(
                mock_absent_set_spec, mock_absent_registry_id)
Пример #3
0
    def test_get_by_set_spec_and_registry_id_return_object(self, mock_get):
        # Arrange
        mock_oai_harvester_set = _create_mock_oai_harvester_set()

        mock_get.return_value = mock_oai_harvester_set

        # Act
        result = harvester_set_api.get_by_set_spec_and_registry_id(
            mock_oai_harvester_set.set_spec,
            mock_oai_harvester_set.registry.id)

        # Assert
        self.assertIsInstance(result, OaiHarvesterSet)
Пример #4
0
    def test_upsert_creates_if_does_not_exist(self):
        """Test upsert create"""
        # Arrange
        oai_harvester_set = OaiPmhMock.mock_oai_first_set()
        self.fixture.insert_registry(insert_related_collections=False)

        # Act
        oai_registry_api._upsert_identify_for_registry(oai_harvester_set,
                                                       self.fixture.registry)

        # Assert
        set_in_database = oai_harvester_set_api.get_by_set_spec_and_registry_id(
            oai_harvester_set.set_spec, self.fixture.registry.id)

        self.assertEquals(oai_harvester_set, set_in_database)
Пример #5
0
    def test_upsert_updates_if_does_exist(self):
        """Test upsert update"""
        self.fixture.insert_registry()

        # Arrange
        oai_harvester_set = self.fixture.oai_sets[0]
        set_name = "name_test"
        oai_harvester_set.set_name = set_name

        # Act
        oai_registry_api._upsert_set_for_registry(oai_harvester_set,
                                                  self.fixture.registry)

        # Assert
        set_in_database = oai_harvester_set_api.get_by_set_spec_and_registry_id(
            oai_harvester_set.set_spec, self.fixture.registry.id)
        self.assertEquals(set_in_database.set_name, set_name)
Пример #6
0
def _upsert_set_for_registry(set_, registry):
    """ Adds or updates an OaiHarvesterSet object for a registry.

    Args:
        set_: OaiHarvesterSet instance.
        registry: OaiRegistry instance.

    """
    try:
        set_to_save = oai_harvester_set_api.get_by_set_spec_and_registry_id(
            set_.set_spec, registry.id)
        # Update current OaiHarvesterSet
        set_to_save.set_name = set_.set_name
        set_to_save.raw = set_.raw
    except exceptions.DoesNotExist:
        # Creation OaiHarvesterSet
        set_to_save = set_
        set_to_save.registry = registry
        set_to_save.harvest = True

    oai_harvester_set_api.upsert(set_to_save)