def test_effective_principals_when_user_is_None(accounts): accounts.get_user.return_value = None principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) assert principals == [security.Everyone]
def test_effective_principals_when_user_is_staff(accounts, group_principals): accounts.get_user.return_value = mock.Mock(admin=False, staff=True) group_principals.return_value = [] principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) assert role.Staff in principals
def test_effective_principals_when_user_has_groups(accounts, group_principals): accounts.get_user.return_value = mock.Mock(admin=False, staff=False) group_principals.return_value = ['group:abc123', 'group:def456'] principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) for group in group_principals.return_value: assert group in principals
def test_effective_principals_returns_userid(accounts, group_principals): # User is authenticated but is not an admin or staff or a member of any # groups. accounts.get_user.return_value = mock.Mock(admin=False, staff=False) group_principals.return_value = [] principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) assert 'acct:[email protected]' in principals
def test_effective_principals_with_staff_admin_and_groups( accounts, group_principals): accounts.get_user.return_value = mock.Mock(admin=True, staff=True) group_principals.return_value = ['group:abc123', 'group:def456'] principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) for principal in [ security.Everyone, role.Admin, role.Staff, 'group:abc123', 'group:def456', security.Authenticated, 'acct:[email protected]' ]: assert principal in principals
def test_effective_principals_with_staff_admin_and_groups(accounts, group_principals): accounts.get_user.return_value = mock.Mock(admin=True, staff=True) group_principals.return_value = ['group:abc123', 'group:def456'] principals = util.effective_principals('acct:[email protected]', testing.DummyRequest()) for principal in [security.Everyone, role.Admin, role.Staff, 'group:abc123', 'group:def456', security.Authenticated, 'acct:[email protected]']: assert principal in principals
def effective_principals(self, request): return effective_principals(request.authenticated_userid, request)