def test_policy_allows(): policy = Policy(read=['chris','jeremy'],write=['NONE'],delete=['R:ADMIN'],manage=['chris']) assert policy.allows(chris_info, 'read') assert policy.allows(chris_info, 'delete') assert policy.allows(jeremy_info, 'read') py.test.raises(ForbiddenError, 'policy.allows(jeremy_info, "write")') assert policy.allows(chris_info, 'manage') py.test.raises(ForbiddenError, 'policy.allows(jeremy_info, "manage")') assert policy.allows(chris_info, 'create') py.test.raises(ForbiddenError, 'policy.allows(none_info, "write")') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "read")') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "write")') assert policy.allows(barnabas_info, 'create') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "manage")')
def test_policy_allows(): policy = Policy(read=['chris', 'jeremy'], write=['NONE'], delete=['R:ADMIN'], manage=['chris']) assert policy.allows(chris_info, 'read') assert policy.allows(chris_info, 'delete') assert policy.allows(jeremy_info, 'read') py.test.raises(ForbiddenError, 'policy.allows(jeremy_info, "write")') assert policy.allows(chris_info, 'manage') py.test.raises(ForbiddenError, 'policy.allows(jeremy_info, "manage")') assert policy.allows(chris_info, 'create') py.test.raises(ForbiddenError, 'policy.allows(none_info, "write")') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "read")') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "write")') assert policy.allows(barnabas_info, 'create') py.test.raises(ForbiddenError, 'policy.allows(barnabas_info, "manage")')
def test_policy_any(): policy = Policy(read=['ANY'],write=['ANY']) assert policy.allows(randomer_info, 'read') assert policy.allows(boom_info, 'write') py.test.raises(UserRequiredError, 'policy.allows(guest_info, "read")')
def test_policy_any(): policy = Policy(read=['ANY'], write=['ANY']) assert policy.allows(randomer_info, 'read') assert policy.allows(boom_info, 'write') py.test.raises(UserRequiredError, 'policy.allows(guest_info, "read")')
def test_malformed_policy(): policy = Policy() policy.read = None # set the policy to a bad form assert policy.allows(guest_info, 'read')