Skip to content

Commit c1cd49b

Browse files
committed
fix: Isolate default user permissions
Signed-off-by: NIKHIL <atnikhil06@gmail.com>
1 parent 9affee5 commit c1cd49b

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

sdk/python/feast/permissions/user.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ class User:
1313
def __init__(
1414
self,
1515
username: str,
16-
roles: list[str] = [],
17-
groups: list[str] = [],
18-
namespaces: list[str] = [],
16+
roles: Optional[list[str]] = None,
17+
groups: Optional[list[str]] = None,
18+
namespaces: Optional[list[str]] = None,
1919
):
2020
self._username = username
21-
self._roles = roles
22-
self._groups = groups
23-
self._namespaces = namespaces
21+
self._roles = roles if roles is not None else []
22+
self._groups = groups if groups is not None else []
23+
self._namespaces = namespaces if namespaces is not None else []
2424

2525
@property
2626
def username(self):

sdk/python/tests/unit/permissions/test_user.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,16 @@ def test_user_has_matching_role(users, username, roles, result):
3232
assertpy.assert_that(user.has_matching_role(requested_roles=roles)).is_equal_to(
3333
result
3434
)
35+
36+
37+
def test_users_have_independent_default_permissions():
38+
first_user = User("first")
39+
second_user = User("second")
40+
41+
first_user.roles.append("reader")
42+
first_user.groups.append("analytics")
43+
first_user.namespaces.append("production")
44+
45+
assert second_user.roles == []
46+
assert second_user.groups == []
47+
assert second_user.namespaces == []

0 commit comments

Comments
 (0)