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)
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)
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)
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)
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)
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)