Example #1
0
    def test_loadapi_load_permission(self):
        import ptah

        allow = False
        def check_permission(permission, content, r=None, t=True):
            if not allow:
                return False

            return True

        # monkey patch
        orig_check_permission = ptah.check_permission
        ptah.check_permission = check_permission

        c = Content(title='Content')
        uri = c.__uri__
        Session = ptah.get_session()
        Session.add(c)
        transaction.commit()

        self.assertRaises(HTTPForbidden, ptahcms.load, uri, 'View')

        allow = True
        c = ptahcms.load(uri, 'View')
        self.assertEqual(c.__uri__, uri)

        # remove monkey patch
        ptah.check_permission = orig_check_permission
Example #2
0
    def test_loadapi_load_permission(self):
        import ptah

        allow = False

        def check_permission(permission, content, r=None, t=True):
            if not allow:
                return False

            return True

        # monkey patch
        orig_check_permission = ptah.check_permission
        ptah.check_permission = check_permission

        c = Content(title='Content')
        uri = c.__uri__
        Session = ptah.get_session()
        Session.add(c)
        transaction.commit()

        self.assertRaises(HTTPForbidden, ptahcms.load, uri, 'View')

        allow = True
        c = ptahcms.load(uri, 'View')
        self.assertEqual(c.__uri__, uri)

        # remove monkey patch
        ptah.check_permission = orig_check_permission
Example #3
0
    def test_loadapi_load(self):
        content = Content(title='Content')
        uri = content.__uri__

        ptah.get_session().add(content)
        transaction.commit()

        content = ptahcms.load(uri)
        self.assertEqual(content.__uri__, uri)
Example #4
0
    def test_loadapi_load(self):
        content = Content(title='Content')
        uri = content.__uri__

        ptah.get_session().add(content)
        transaction.commit()

        content = ptahcms.load(uri)
        self.assertEqual(content.__uri__, uri)
Example #5
0
def wrap(content):
    if isinstance(content, string_types):
        content = ptahcms.load(content)
    else:
        ptahcms.load_parents(content)

    if content is None:
        raise NotFound()

    return NodeWrapper(content)
Example #6
0
def wrap(content):
    if isinstance(content, string_types):
        content = ptahcms.load(content)
    else:
        ptahcms.load_parents(content)

    if content is None:
        raise NotFound()

    return NodeWrapper(content)
Example #7
0
    def test_loadapi_load_with_parents(self):
        content = Content(title='Content')
        container = Container(__name__='container', __path__='/container/')

        c_uri = content.__uri__
        co_uri = container.__uri__
        Session = ptah.get_session()
        Session.add(container)
        Session.add(content)
        transaction.commit()

        container = ptah.resolve(co_uri)
        container['content'] = ptah.resolve(c_uri)
        transaction.commit()

        content = ptahcms.load(c_uri)
        self.assertEqual(content.__parent__.__uri__, co_uri)
Example #8
0
    def test_loadapi_load_with_parents(self):
        content = Content(title='Content')
        container = Container(__name__='container', __path__='/container/')

        c_uri = content.__uri__
        co_uri = container.__uri__
        Session = ptah.get_session()
        Session.add(container)
        Session.add(content)
        transaction.commit()

        container = ptah.resolve(co_uri)
        container['content'] = ptah.resolve(c_uri)
        transaction.commit()

        content = ptahcms.load(c_uri)
        self.assertEqual(content.__parent__.__uri__, co_uri)