def test_init_schema_info_raises_api_error_if_bad_status_code(self, mock_get): # Arrange mock_oai_harvester_metadata_format = _create_mock_oai_harvester_metadata_format() text = '<test>Hello</test>' mock_get.return_value.status_code = status.HTTP_500_INTERNAL_SERVER_ERROR mock_get.return_value.text = text # Act + Assert with self.assertRaises(Exception): harvester_metadata_format_api.init_schema_info(mock_oai_harvester_metadata_format)
def _upsert_metadata_format_for_registry(metadata_format, registry): """ Adds or updates an OaiHarvesterMetadataFormat object for a registry. Args: metadata_format: OaiHarvesterMetadataFormat instance. registry: OaiRegistry instance. """ try: metadata_format_to_save = oai_harvester_metadata_format_api.\ get_by_metadata_prefix_and_registry_id(metadata_format.metadata_prefix, registry.id) # Update current OaiHarvesterMetadataFormat metadata_format_to_save.metadata_namespace = metadata_format.metadata_namespace metadata_format_to_save.schema = metadata_format.schema metadata_format_to_save.raw = metadata_format.raw except exceptions.DoesNotExist: # Creation OaiHarvesterMetadataFormat metadata_format_to_save = metadata_format metadata_format_to_save.registry = registry metadata_format_to_save.harvest = True try: metadata_format_to_save = oai_harvester_metadata_format_api.init_schema_info( metadata_format_to_save) oai_harvester_metadata_format_api.upsert(metadata_format_to_save) except exceptions.ApiError as e: # Log exception. Do not save the metadata format. pass
def test_init_schema_info_raises_api_error_if_bad_status_code( self, mock_get): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) mock_oai_harvester_metadata_format = ( _create_mock_oai_harvester_metadata_format()) text = "<test>Hello</test>" mock_get.return_value.status_code = status.HTTP_500_INTERNAL_SERVER_ERROR mock_get.return_value.text = text # Act + Assert with self.assertRaises(Exception): harvester_metadata_format_api.init_schema_info( mock_oai_harvester_metadata_format, request=mock_request)
def _upsert_metadata_format_for_registry(metadata_format, registry, request=None): """Adds or updates an OaiHarvesterMetadataFormat object for a registry. Args: metadata_format: OaiHarvesterMetadataFormat instance. registry: OaiRegistry instance. request: """ try: metadata_format_to_save = (oai_harvester_metadata_format_api. get_by_metadata_prefix_and_registry_id( metadata_format.metadata_prefix, registry.id)) # Update current OaiHarvesterMetadataFormat metadata_format_to_save.metadata_namespace = metadata_format.metadata_namespace metadata_format_to_save.schema = metadata_format.schema metadata_format_to_save.raw = metadata_format.raw except exceptions.DoesNotExist: # Creation OaiHarvesterMetadataFormat metadata_format_to_save = metadata_format metadata_format_to_save.registry = registry metadata_format_to_save.harvest = True try: metadata_format_to_save = oai_harvester_metadata_format_api.init_schema_info( metadata_format_to_save, request=request) oai_harvester_metadata_format_api.upsert(metadata_format_to_save) except exceptions.ApiError as e: # Log exception. Do not save the metadata format. logger.warning( "_upsert_metadata_format_for_registry threw an exception: {0}". format(str(e)))
def test_init_schema_info_return_object(self, mock_get, mock_get_all_by_hash): # Arrange mock_oai_harvester_metadata_format = _create_mock_oai_harvester_metadata_format() mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = '<test>Hello</test>' mock_get_all_by_hash.return_value = [Template()] # Act result = harvester_metadata_format_api.init_schema_info(mock_oai_harvester_metadata_format) # Assert self.assertIsInstance(result, OaiHarvesterMetadataFormat)
def test_init_schema_info_return_object_with_template(self, mock_get, mock_get_all_by_hash): # Arrange mock_oai_harvester_metadata_format = _create_mock_oai_harvester_metadata_format() list_template = [Template()] mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = '<test>Hello</test>' mock_get_all_by_hash.return_value = list_template # Act result = harvester_metadata_format_api.init_schema_info(mock_oai_harvester_metadata_format) # Assert self.assertEquals(result.template, list_template[0])
def test_init_schema_info_return_object_with_hash(self, mock_get, mock_get_all_by_hash, mock_get_hash): # Arrange mock_oai_harvester_metadata_format = _create_mock_oai_harvester_metadata_format() hash_ = 'eaedb2e2d29fffeee628a51284a237e057a38a28' mock_get_hash.return_value = hash_ mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = '<test>Hello</test>' mock_get_all_by_hash.return_value = [Template()] # Act result = harvester_metadata_format_api.init_schema_info(mock_oai_harvester_metadata_format) # Assert self.assertEquals(result.hash, hash_)
def test_init_schema_info_return_object(self, mock_get, mock_get_all_by_hash): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) mock_oai_harvester_metadata_format = ( _create_mock_oai_harvester_metadata_format()) mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = "<test>Hello</test>" mock_get_all_by_hash.return_value = [Template()] # Act result = harvester_metadata_format_api.init_schema_info( mock_oai_harvester_metadata_format, request=mock_request) # Assert self.assertIsInstance(result, OaiHarvesterMetadataFormat)
def test_init_schema_info_return_object_with_template( self, mock_get, mock_get_all_by_hash): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) mock_oai_harvester_metadata_format = ( _create_mock_oai_harvester_metadata_format()) list_template = [Template()] mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = "<test>Hello</test>" mock_get_all_by_hash.return_value = list_template # Act result = harvester_metadata_format_api.init_schema_info( mock_oai_harvester_metadata_format, request=mock_request) # Assert self.assertEquals(result.template, list_template[0])
def test_init_schema_info_return_object_with_hash(self, mock_get, mock_get_all_by_hash, mock_get_hash): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) mock_oai_harvester_metadata_format = ( _create_mock_oai_harvester_metadata_format()) hash_ = "eaedb2e2d29fffeee628a51284a237e057a38a28" mock_get_hash.return_value = hash_ mock_get.return_value.status_code = status.HTTP_200_OK mock_get.return_value.text = "<test>Hello</test>" mock_get_all_by_hash.return_value = [Template()] # Act result = harvester_metadata_format_api.init_schema_info( mock_oai_harvester_metadata_format, request=mock_request) # Assert self.assertEquals(result.hash, hash_)