def test_get_by_registry_id_raises_exception_if_object_does_not_exist( self, mock_get): # Arrange mock_absent_registry_id = str(ObjectId()) mock_get.side_effect = exceptions.DoesNotExist("Error.") # Act + Assert with self.assertRaises(exceptions.DoesNotExist): oai_identify_api.get_by_registry_id(mock_absent_registry_id)
def test_get_by_registry_id_raises_exception_if_internal_error( self, mock_get): # Arrange mock_absent_registry_id = str(ObjectId()) mock_get.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): oai_identify_api.get_by_registry_id(mock_absent_registry_id)
def view_registry(request): """ View a registry. Args: request: Returns: """ try: registry_id = request.GET['id'] template = loader.\ get_template('core_oaipmh_harvester_app/admin/registries/list/modals/view_registry_table.html') context = { 'registry': oai_registry_api.get_by_id(registry_id), 'identify': oai_identify_api.get_by_registry_id(registry_id), 'metadata_formats': oai_metadata_format_api.get_all_by_registry_id(registry_id), 'sets': oai_set_api.get_all_by_registry_id(registry_id), 'nb_records': oai_record_api.get_count_by_registry_id(registry_id), } return HttpResponse(json.dumps({'template': template.render(context)}), content_type='application/javascript') except Exception, e: return HttpResponseBadRequest(e.message, content_type='application/javascript')
def _assert_identify(self, mock, registry_id): """ Assert identify Args: self: mock: registry_id: Returns: """ obj_in_database = oai_identify_api.get_by_registry_id(registry_id) self.assertEquals(mock.admin_email, obj_in_database.admin_email) self.assertEquals(mock.repository_name, obj_in_database.repository_name) self.assertEquals(mock.deleted_record, obj_in_database.deleted_record) self.assertEquals(mock.delimiter, obj_in_database.delimiter) self.assertEquals(mock.description, obj_in_database.description) self.assertEquals(mock.granularity, obj_in_database.granularity) self.assertEquals(mock.oai_identifier, obj_in_database.oai_identifier) self.assertEquals(mock.protocol_version, obj_in_database.protocol_version) self.assertEquals(mock.repository_identifier, obj_in_database.repository_identifier) self.assertEquals(mock.sample_identifier, obj_in_database.sample_identifier) self.assertEquals(mock.scheme, obj_in_database.scheme) self.assertEquals(mock.raw, obj_in_database.raw)
def view_registry(request): """View a registry. Args: request: Returns: """ try: registry_id = request.GET["id"] template = loader.get_template( "core_oaipmh_harvester_app/admin/registries/list/modals/view_registry_table.html" ) context = { "registry": oai_registry_api.get_by_id(registry_id), "identify": oai_identify_api.get_by_registry_id(registry_id), "metadata_formats": oai_metadata_format_api.get_all_by_registry_id(registry_id), "sets": oai_set_api.get_all_by_registry_id(registry_id), "nb_records": oai_record_api.get_count_by_registry_id(registry_id, request.user), } return HttpResponse( json.dumps({"template": template.render(context)}), content_type="application/javascript", ) except Exception as e: return HttpResponseBadRequest(escape(str(e)), content_type="application/javascript")
def test_get_by_registry_id_return_object(self, mock_get): # Arrange mock_oai_identify = _create_mock_oai_identify() mock_get.return_value = mock_oai_identify # Act result = oai_identify_api.get_by_registry_id( mock_oai_identify.registry.id) # Assert self.assertIsInstance(result, OaiIdentify)
def test_upsert_creates_if_does_not_exist(self): """ Test upsert create """ # Arrange oai_identify = OaiPmhMock.mock_oai_identify() self.fixture.insert_registry(insert_related_collections=False) # Act oai_registry_api._upsert_identify_for_registry(oai_identify, self.fixture.registry) # Assert identify_in_database = oai_identify_api.get_by_registry_id(self.fixture.registry.id) self.assertEquals(identify_in_database, oai_identify)
def test_upsert_updates_if_does_exist(self): """ Test upsert update """ self.fixture.insert_registry() # Arrange repository_name = "update_test" self.fixture.oai_identify.repository_name = repository_name # Act oai_registry_api._upsert_identify_for_registry(self.fixture.oai_identify, self.fixture.registry) # Assert identify_in_database = oai_identify_api.get_by_registry_id(self.fixture.registry.id) self.assertEquals(identify_in_database.repository_name, repository_name)
def _upsert_identify_for_registry(identify, registry): """ Adds or updates an identify object for a registry. Args: identify: OaiIdentify instance. registry: OaiRegistry instance. """ try: identify_db = oai_identify_api.get_by_registry_id(registry.id) identify.id = identify_db.id except exceptions.DoesNotExist: pass identify.registry = registry api_oai_identify.upsert(identify)