def save_object(self): """ Custom save Returns: """ try: return self.save() except NotUniqueError: raise exceptions.ModelError( "Unable to save the navigation object: not unique.") except Exception as ex: raise exceptions.ModelError(ex.message)
def save_object(self): """Custom save Returns: """ try: return self.save() except NotUniqueError: raise exceptions.ModelError( "Unable to save the document: not unique.") except Exception as ex: raise exceptions.ModelError(str(ex))
def get_by_name(record_name): try: return LocalId.objects.get(record_name=record_name) except mongoengine_errors.DoesNotExist as dne: raise exceptions.DoesNotExist(str(dne)) except Exception as exc: raise exceptions.ModelError(str(exc))
def get(): try: return PidSettings.objects.first() except mongoengine_errors.DoesNotExist: return None except Exception as exc: raise exceptions.ModelError(str(exc))
def set_status(data, status, user): """ Set the status of a data Args: data: status: user: Returns: Data """ if status == DataStatus.DELETED and (data.workspace is None or data.workspace.is_public is False): raise exceptions.ModelError( "the " + get_data_label() + " should be published if the targeted status is 'Deleted'") # build the xsd tree xml_tree = XSDTree.build_tree(data.xml_content) # get the root root = xml_tree.getroot() # and change the attribute root.attrib['status'] = status # update the xml content data.xml_content = XSDTree.tostring(xml_tree) # upsert the data return data_api.upsert(data, user)
def test_get_raises_exception_if_internal_error(self, mock_get): # Arrange mock_get.side_effect = exceptions.ModelError("Error") # Act + Assert with self.assertRaises(exceptions.ModelError): settings_api.get()
def parse_and_save(data, current_template): """Parse the data to create custom resources and save them. Args: data: dict current_template: Returns: """ for key in data.keys(): resource = data[key] custom_resource = CustomResource(template=current_template) if _is_type_all(resource): custom_resource = _create_custom_resource_type_all( custom_resource, resource, key) # TODO: make sure only one type = 'all' ? else: custom_resource = _create_custom_resource(custom_resource, resource, key) try: _check_curate(custom_resource) custom_resource.save() except Exception as e: raise exceptions.ModelError(str(e))
def get_by_resumption_token(resumption_token): try: return OaiRequestPage.objects.get( resumption_token=resumption_token) except mongoengine_errors.DoesNotExist as e: raise exceptions.DoesNotExist(str(e)) except Exception as ex: raise exceptions.ModelError(str(ex))
def get_by_user(user): try: # print(Visit.objects.get(user=str(user))) return Visit.objects.get(user=str(user)) except mongoengine_errors.DoesNotExist as e: return None except Exception as ex: raise exceptions.ModelError(str(ex))
def test_get_by_template_hash_raises_exception_if_internal_error( self, mock_get_by_template_hash): # Arrange mock_absent_hash = "dummy_hash" mock_get_by_template_hash.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): template_xsl_rendering_api.get_by_template_hash(mock_absent_hash)
def test_oai_set_get_by_set_spec_raises_exception_if_internal_error(self, mock_get_by_set_spec): # Arrange mock_absent_set_spec = "oai_test" mock_get_by_set_spec.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): set_api.get_by_set_spec(mock_absent_set_spec)
def test_get_by_template_id_raises_exception_if_internal_error(self, mock_get_by_template_id): # Arrange mock_absent_id = ObjectId() mock_get_by_template_id.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): template_xsl_rendering_api.get_by_template_id(mock_absent_id)
def test_oai_set_get_by_id_raises_exception_if_internal_error(self, mock_get_by_id): # Arrange mock_absent_id = ObjectId() mock_get_by_id.side_effect = exceptions.ModelError("Error") # Act + Assert with self.assertRaises(exceptions.ModelError): set_api.get_by_id(mock_absent_id)
def test_get_by_id_raises_exception_if_internal_error(self, mock_get_by_template_id_and_metadata_format_id): # Arrange mock_absent_id = ObjectId() mock_get_by_template_id_and_metadata_format_id.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): oai_xsl_template_api.get_by_template_id_and_metadata_format_id(mock_absent_id, mock_absent_id)
def test_get_by_data_raises_exception_if_internal_error( self, mock_get_by_data): # Arrange mock_absent_data = Data() mock_get_by_data.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): oai_data_api.get_by_data(mock_absent_data)
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 get_by_class_and_id(record_object_class, record_object_id): try: return LocalId.objects.get( record_object_class=record_object_class, record_object_id=record_object_id, ) except mongoengine_errors.DoesNotExist as dne: raise exceptions.DoesNotExist(str(dne)) except Exception as exc: raise exceptions.ModelError(str(exc))
def test_get_by_set_spec_raises_exception_if_internal_error( self, mock_get): # Arrange mock_absent_set_spec = ObjectId() mock_get.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): provider_set_api.get_by_set_spec(mock_absent_set_spec)
def check_instance_name(self): """ Test if the name is 'Local'. Returns: """ if self.name.upper() == "LOCAL": raise exceptions.ModelError( "By default, the instance named Local is the instance currently running." )
def check_instance_name(self): """Test if the name is the name of the local instance. Returns: """ if self.name.upper() == settings.CUSTOM_NAME.upper(): raise exceptions.ModelError( f'By default, the instance named "{settings.CUSTOM_NAME}" is the instance currently running.' )
def clean(self): """ Returns: """ # Check the title if self.owner is not None and self.title.lower( ) == "global public workspace": raise exceptions.ModelError( "You can't create a workspace with the title: " + self.title)
def test_get_by_metadata_prefix_raises_exception_if_internal_error( self, mock_get): # Arrange mock_absent_metadata_prefix = ObjectId() mock_get.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): provider_metadata_format_api.get_by_metadata_prefix( mock_absent_metadata_prefix)
def test_oai_metadata_format_get_by_metadata_prefix_raises_exception_if_internal_error( self, mock_get_by): # Arrange mock_absent_metadata_prefix = "oai_test" mock_get_by.side_effect = exceptions.ModelError("Error") # Act + Assert with self.assertRaises(exceptions.ModelError): metadata_format_api.get_by_metadata_prefix( mock_absent_metadata_prefix)
def get_global_workspace(): """ Get global workspace. Returns: """ try: return Workspace.objects.get(owner=None, is_public=True) except mongoengine_errors.DoesNotExist as e: raise exceptions.DoesNotExist(str(e)) except Exception as ex: raise exceptions.ModelError(str(ex))
def _is_type_all(resource): """Check if type of resource is 'all'. Args: resource: Returns: """ try: return resource["type"] == CUSTOM_RESOURCE_TYPE.ALL.value except: raise exceptions.ModelError("The configuration file is not valid.")
def test_get_by_data_raises_exception_if_internal_error( self, mock_get_by_data): # Arrange mock_absent_data = ObjectId() mock_get_by_data.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): data_structure_type_element_api.get_by_data_structure_id( mock_absent_data)
def test_get_by_metadata_prefix_and_registry_id_raises_exception_if_internal_error(self, mock_get): # Arrange mock_absent_metadata_prefix = 'oai_test' mock_absent_registry_id = str(ObjectId()) mock_get.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): harvester_metadata_format_api.get_by_metadata_prefix_and_registry_id(mock_absent_metadata_prefix, mock_absent_registry_id)
def test_get_by_id_raises_exception_if_internal_error( self, mock_get_by_id): # Arrange mock_absent_id = ObjectId() mock_user = create_mock_user("1", is_anonymous=False) mock_get_by_id.side_effect = exceptions.ModelError("Error.") # Act + Assert with self.assertRaises(exceptions.ModelError): oai_record_api.get_by_id(mock_absent_id, mock_user)
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 save_object(self): """ Custom save Returns: """ try: return self.save() except mongoengine_errors.NotUniqueError as e: raise exceptions.NotUniqueError("The name is already used by an other exporter.") except Exception as ex: raise exceptions.ModelError(ex.message)