diff --git a/cs3client/user.py b/cs3client/user.py index 3c4b03d..cb2aa7d 100644 --- a/cs3client/user.py +++ b/cs3client/user.py @@ -90,18 +90,18 @@ def get_user_groups(self, idp, opaque_id) -> list[str]: self._log.debug(f'msg="Invoked GetUserGroups" opaque_id="{opaque_id}" trace="{res.status.trace}"') return res.groups - def find_users(self, auth_token: tuple, filter) -> list[cs3iur.User]: + def find_users(self, auth_token: tuple, filters) -> list[cs3iur.User]: """ Find a user based on a filter. :param auth_token: tuple in the form ('x-access-token', ) (see auth.get_token/auth.check_token) - :param filter: Filter to search for. + :param filters: Filters to search for. :return: a list of user(s). :raises: NotFoundException (User not found) :raises: AuthenticationException (Operation not permitted) :raises: UnknownException (Unknown error) """ - req = cs3iu.FindUsersRequest(filter=filter, skip_fetching_user_groups=True) + req = cs3iu.FindUsersRequest(filters=filters, skip_fetching_user_groups=True) res = self._gateway.FindUsers(request=req, metadata=[auth_token]) self._status_code_handler.handle_errors(res.status, "find users") self._log.debug(f'msg="Invoked FindUsers" filter="{filter}" trace="{res.status.trace}"') diff --git a/tests/test_user.py b/tests/test_user.py index c62146a..652e9cc 100644 --- a/tests/test_user.py +++ b/tests/test_user.py @@ -11,6 +11,8 @@ import pytest from unittest.mock import Mock, patch import cs3.rpc.v1beta1.code_pb2 as cs3code +import cs3.identity.user.v1beta1.user_api_pb2 as cs3iu +import cs3.identity.user.v1beta1.resources_pb2 as cs3iur from cs3client.exceptions import ( AuthenticationException, @@ -124,7 +126,11 @@ def test_get_user_groups( def test_find_users( user_instance, status_code, status_message, expected_exception, users # noqa: F811 (not a redefinition) ): - filter = "filter" + filters = [ + cs3iu.Filter( + type=cs3iur.UserType.USER_TYPE_PRIMARY + ) + ] mock_response = Mock() mock_response.status.code = status_code @@ -135,7 +141,7 @@ def test_find_users( with patch.object(user_instance._gateway, "FindUsers", return_value=mock_response): if expected_exception: with pytest.raises(expected_exception): - user_instance.find_users(auth_token, filter) + user_instance.find_users(auth_token, filters) else: - result = user_instance.find_users(auth_token, filter) + result = user_instance.find_users(auth_token, filters) assert result == users