Exemple #1
0
 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)
Exemple #2
0
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
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
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)
Exemple #9
0
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)
Exemple #10
0
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)
Exemple #11
0
 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)
Exemple #12
0
 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)