Page MenuHome

test_user_capabilities.py
No OneTemporary

File Metadata

Created
Fri, Dec 6, 7:29 PM

test_user_capabilities.py

from pillar.tests import PillarTestServer, AbstractPillarTest
class UserCapsTestServer(PillarTestServer):
def __init__(self, *args, **kwargs):
PillarTestServer.__init__(self, *args, **kwargs)
from pillar.extension import PillarExtension
# Late-declare this class, so that it is recreated for each unit test.
class UserCapsTestExtension(PillarExtension):
user_roles = {
'test-user',
'test-မျောက်',
}
user_caps = {
'subscriber': {'extra-sub-cap', 'another-cap'},
'test-user': {'test-user-cap-1', 'နဂါးမောက်သီး'},
'test-မျောက်': {'test-monkey-cap-1', 'နဂါးမောက်သီး'},
}
@property
def name(self):
return 'test_user_caps'
def flask_config(self):
return {}
def eve_settings(self):
return {}
def blueprints(self):
return []
self.load_extension(UserCapsTestExtension(), '/user-caps-test')
class UserCapsTest(AbstractPillarTest):
pillar_server_class = UserCapsTestServer
def setUp(self, **kwargs):
super().setUp(**kwargs)
def tearDown(self):
super().tearDown()
def test_default_caps(self):
app_caps = self.app.user_caps
self.assertEqual(app_caps['demo'], frozenset({
'subscriber', 'home-project'
}))
def test_aggr_caps_merged_subscriber(self):
app_caps = self.app.user_caps
self.assertEqual(app_caps['subscriber'], frozenset({
'subscriber', 'home-project', 'extra-sub-cap', 'another-cap'
}))
def test_aggr_caps_new_roles(self):
app_caps = self.app.user_caps
self.assertEqual(app_caps['test-user'], frozenset({
'test-user-cap-1', 'နဂါးမောက်သီး'
}))
self.assertEqual(app_caps['test-မျောက်'], frozenset({
'test-monkey-cap-1', 'နဂါးမောက်သီး'
}))

Event Timeline