def test_inspectable_lazyroleset(self): d = self.Document() u1 = self.User() u2 = self.User() d.user = u1 # At the start, the access flags are false assert d.accessed_user is False assert d.accessed_userlist is False # Constructing an inspectable set does not enumerate roles r1 = InspectableSet(d.roles_for(u1)) assert d.accessed_user is False assert d.accessed_userlist is False # However, accessing the role does assert r1.owner is True assert d.accessed_user is True assert d.accessed_userlist is False # Reset and try the other relationship d.user = None d.userlist = [u2] r2 = InspectableSet(d.roles_for(u2)) assert d.accessed_user is False assert d.accessed_userlist is False assert r2.owner is True assert d.accessed_user is True assert d.accessed_userlist is True
def before_request(self, access_token=None): if access_token == 'owner-admin-secret': add_auth_attribute('permissions', InspectableSet({'siteadmin'})) add_auth_attribute('user', 'this-is-the-owner') # See ViewDocument.permissions if access_token == 'owner-secret': add_auth_attribute('user', 'this-is-the-owner') # See ViewDocument.permissions return super(ModelDocumentView, self).before_request()
def test_inspectable_set(self): s1 = InspectableSet(['all', 'anon']) self.assertTrue('all' in s1) self.assertFalse('auth' in s1) self.assertTrue(s1['all']) self.assertFalse(s1['auth']) self.assertTrue(s1.all) self.assertFalse(s1.auth) s2 = InspectableSet({'all', 'anon', 'other'}) self.assertTrue('all' in s2) self.assertFalse('auth' in s2) self.assertTrue(s2['all']) self.assertFalse(s2['auth']) self.assertTrue(s2.all) self.assertFalse(s2.auth) self.assertEqual(len(s1), 2) self.assertEqual(len(s2), 3) self.assertEqual(s1, {'all', 'anon'}) self.assertEqual(s2, {'all', 'anon', 'other'}) with self.assertRaises(AttributeError): s1.auth = True
def test_inspectable_set(self): s1 = InspectableSet(['all', 'anon']) assert 'all' in s1 assert 'auth' not in s1 assert s1['all'] assert not s1['auth'] assert s1.all assert not s1.auth s2 = InspectableSet({'all', 'anon', 'other'}) assert 'all' in s2 assert 'auth' not in s2 assert s2['all'] assert not s2['auth'] assert s2.all assert not s2.auth assert len(s1) == 2 assert len(s2) == 3 assert s1 == {'all', 'anon'} assert s2 == {'all', 'anon', 'other'} with pytest.raises(AttributeError): s1.auth = True