From c1cd49b9ac657d50517ee0d80c686295fd4b9668 Mon Sep 17 00:00:00 2001 From: NIKHIL Date: Wed, 12 Aug 2026 17:27:03 +0530 Subject: [PATCH] fix: Isolate default user permissions Signed-off-by: NIKHIL --- sdk/python/feast/permissions/user.py | 12 ++++++------ sdk/python/tests/unit/permissions/test_user.py | 13 +++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/sdk/python/feast/permissions/user.py b/sdk/python/feast/permissions/user.py index f80da39a58f..71f13ef30af 100644 --- a/sdk/python/feast/permissions/user.py +++ b/sdk/python/feast/permissions/user.py @@ -13,14 +13,14 @@ class User: def __init__( self, username: str, - roles: list[str] = [], - groups: list[str] = [], - namespaces: list[str] = [], + roles: Optional[list[str]] = None, + groups: Optional[list[str]] = None, + namespaces: Optional[list[str]] = None, ): self._username = username - self._roles = roles - self._groups = groups - self._namespaces = namespaces + self._roles = roles if roles is not None else [] + self._groups = groups if groups is not None else [] + self._namespaces = namespaces if namespaces is not None else [] @property def username(self): diff --git a/sdk/python/tests/unit/permissions/test_user.py b/sdk/python/tests/unit/permissions/test_user.py index cce318cba75..c4660c62553 100644 --- a/sdk/python/tests/unit/permissions/test_user.py +++ b/sdk/python/tests/unit/permissions/test_user.py @@ -32,3 +32,16 @@ def test_user_has_matching_role(users, username, roles, result): assertpy.assert_that(user.has_matching_role(requested_roles=roles)).is_equal_to( result ) + + +def test_users_have_independent_default_permissions(): + first_user = User("first") + second_user = User("second") + + first_user.roles.append("reader") + first_user.groups.append("analytics") + first_user.namespaces.append("production") + + assert second_user.roles == [] + assert second_user.groups == [] + assert second_user.namespaces == []