--- a/Allura/allura/tests/model/test_artifact.py
+++ b/Allura/allura/tests/model/test_artifact.py
@@ -12,8 +12,11 @@
from ming.orm.ormsession import ThreadLocalORMSession
from ming.orm import session
+import allura
from allura import model as M
from allura.lib import helpers as h
+from allura.lib import security
+from allura.websetup.schema import REGISTRY
from alluratest.controller import setup_basic_test, setup_unit_test
from forgewiki import model as WM
@@ -51,11 +54,18 @@
assert pg.app.config == c.app.config
assert pg.app_config == c.app.config
u = M.User.query.get(username='test-user')
- pg.give_access('delete', user=u)
+ pr = u.project_role()
ThreadLocalORMSession.flush_all()
- assert u.project_role()._id in pg.acl['delete']
- pg.revoke_access('delete', user=u)
- assert u.project_role()._id not in pg.acl['delete']
+ REGISTRY.register(allura.credentials, allura.lib.security.Credentials())
+ assert not security.has_access(pg, 'delete')(user=u)
+ pg.acl.append(M.ACE.allow(pr._id, 'delete'))
+ ThreadLocalORMSession.flush_all()
+ c.memoize_cache = {}
+ assert security.has_access(pg, 'delete')(user=u)
+ pg.acl.pop()
+ ThreadLocalORMSession.flush_all()
+ c.memoize_cache = {}
+ assert not security.has_access(pg, 'delete')(user=u)
idx = pg.index()
assert 'title_s' in idx
assert 'url_s' in idx