def test_template_upsert_no_content_raises_error(self, mock_save): mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) template = _create_template(filename="name.xsd") mock_save.return_value = None with self.assertRaises(Exception): template_api.upsert(template, request=mock_request)
def insert(template_version_manager, template): """Add a version to a template version manager. Args: template_version_manager: template: Returns: """ # save the template in database template_api.upsert(template) try: # insert the initial template in the version manager version_manager_api.insert_version(template_version_manager, template) # insert the version manager in database version_manager_api.upsert(template_version_manager) # get template display name display_name = get_latest_version_name(template_version_manager) # update saved template template_api.set_display_name(template, display_name) # return version manager return template_version_manager except Exception, e: template_api.delete(template) raise e
def test_template_upsert_invalid_content_raises_xsd_error(self, mock_save): mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) template = _create_template(filename="name.xsd", content="<schema></schema>") mock_save.return_value = None with self.assertRaises(exceptions.XSDError): template_api.upsert(template, request=mock_request)
def test_template_upsert_invalid_filename_raises_validation_error( self, mock_save): template = _create_template( filename=1, content="<schema xmlns='http://www.w3.org/2001/XMLSchema'></schema>" ) mock_save.side_effect = django_exceptions.ValidationError("") with self.assertRaises(django_exceptions.ValidationError): template_api.upsert(template)
def test_template_upsert_invalid_filename_raises_validation_error( self, mock_save): mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) template = _create_template( filename="1", content= "<schema xmlns='http://www.w3.org/2001/XMLSchema'></schema>", ) mock_save.side_effect = django_exceptions.ValidationError("") with self.assertRaises(django_exceptions.ValidationError): template_api.upsert(template, request=mock_request)
def test_template_upsert_valid_returns_template(self, mock_save): template = _create_template(filename="name.xsd", content="<schema xmlns='http://www.w3.org/2001/XMLSchema'></schema>") mock_save.return_value = template result = template_api.upsert(template) self.assertIsInstance(result, Template)
def test_template_upsert_valid_returns_template(self, mock_save): mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) template = _create_template( filename="name.xsd", content= "<schema xmlns='http://www.w3.org/2001/XMLSchema'></schema>", ) mock_save.return_value = template result = template_api.upsert(template, request=mock_request) self.assertIsInstance(result, Template)
def delete_module(template, xpath): """Deletes a module from a template Args: template: xpath: Returns: """ # delete module attribute from element template.content = delete_appinfo_element(template.content, xpath, MODULE_TAG_NAME) return template_api.upsert(template)
def upsert(type_object): """Save or update the type. Args: type_object: Returns: """ # Check that the type is supported by the core type_definition = check_type_core_support(type_object.content) type_object.is_complex = type_definition == COMPLEX_TYPE # Save type return template_api.upsert(type_object)
def add_module(template, module_id, xpath): """Inserts a module in a template Args: template: module_id: xpath: Returns: """ # get the module module_object = get_by_id(module_id) template.content = add_appinfo_element(template.content, xpath, MODULE_TAG_NAME, module_object.url) return template_api.upsert(template)
def test_template_upsert_no_content_raises_error(self, mock_save): template = _create_template(filename="name.xsd") mock_save.return_value = None with self.assertRaises(Exception): template_api.upsert(template)
def test_template_upsert_invalid_content_raises_xsd_error(self, mock_save): template = _create_template(filename="name.xsd", content="<schema></schema>") mock_save.return_value = None with self.assertRaises(exceptions.XSDError): template_api.upsert(template)
def test_upsert_own_template_as_staff_saves(self): mock_request = create_mock_request(user=self.staff_user1) template_api.upsert(self.fixture.user1_template, request=mock_request)
def test_upsert_other_users_template_as_staff_raises_access_control_error( self): mock_request = create_mock_request(user=self.staff_user1) with self.assertRaises(AccessControlError): template_api.upsert(self.fixture.user2_template, request=mock_request)
def test_upsert_other_users_template_as_superuser_saves(self): mock_request = create_mock_request(user=self.superuser1) template_api.upsert(self.fixture.user2_template, request=mock_request)
def test_upsert_global_template_as_user_raises_access_control_error(self): mock_request = create_mock_request(user=self.user1) with self.assertRaises(AccessControlError): template_api.upsert(self.fixture.global_template, request=mock_request)
def test_upsert_global_template_as_superuser_saves(self): mock_request = create_mock_request(user=self.superuser1) template_api.upsert(self.fixture.global_template, request=mock_request)