Skip to content

Commit 0ffe1c0

Browse files
committed
Refactor: Tests whether an empty scope raises UnauthorizedException
1 parent 28718e3 commit 0ffe1c0

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

kingdom/access/tests/test_flow.py

+23-4
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,40 @@
2121
class TestAuthorize:
2222
fn = authorize
2323

24-
def test_user_tries_to_read(self):
24+
def test_user_tries_to_read_everything(self):
2525
user_policies: PolicyContext = {
2626
"user": {"00df": READ | UPDATE},
2727
"product": {"*": READ},
2828
}
29-
# Purposefully don't pass a selector
30-
scope = authorize(user_policies, resource="coupon", operation="READ")
31-
assert scope == []
29+
# Purposefully don't pass a selector, meaning it's trying to read
30+
# everything. But user can't see anything from coupons.
31+
with raises(NotEnoughPrivilegesErr):
32+
_ = authorize(user_policies, resource="coupon", operation="READ")
3233

3334
scope = authorize(user_policies, resource="user", operation="READ")
3435
assert scope == ["00df"]
3536

3637
scope = authorize(user_policies, resource="product", operation="READ")
3738
assert scope == ["*"]
3839

40+
def test_user_tries_to_read_specifics(self):
41+
user_policies: PolicyContext = {
42+
"coupon": {"00df": READ, "ddf9": READ, "ddfc": READ, "fcc3": READ},
43+
}
44+
45+
with raises(NotEnoughPrivilegesErr):
46+
scope = authorize(
47+
user_policies,
48+
resource="coupon",
49+
operation="READ",
50+
selector="d3f4",
51+
)
52+
53+
scope = authorize(
54+
user_policies, resource="coupon", operation="READ", selector="fcc3"
55+
)
56+
assert scope == ["fcc3"]
57+
3958
def test_user_tries_to_write_on_specific_policies(self):
4059
user_id = "00df"
4160
user_policies: PolicyContext = {

0 commit comments

Comments
 (0)