Browse Source
fix: allow query parameters for users count
pull/325/head
Richard Nemeth
3 years ago
No known key found for this signature in database
GPG Key ID: 21C39470DF3DEC39
2 changed files with
11 additions and
2 deletions
-
src/keycloak/keycloak_admin.py
-
tests/test_keycloak_admin.py
|
@ -464,14 +464,19 @@ class KeycloakAdmin: |
|
|
_last_slash_idx = data_raw.headers["Location"].rindex("/") |
|
|
_last_slash_idx = data_raw.headers["Location"].rindex("/") |
|
|
return data_raw.headers["Location"][_last_slash_idx + 1 :] # noqa: E203 |
|
|
return data_raw.headers["Location"][_last_slash_idx + 1 :] # noqa: E203 |
|
|
|
|
|
|
|
|
def users_count(self): |
|
|
|
|
|
|
|
|
def users_count(self, query=None): |
|
|
""" |
|
|
""" |
|
|
User counter |
|
|
User counter |
|
|
|
|
|
|
|
|
|
|
|
https://www.keycloak.org/docs-api/18.0/rest-api/index.html#_users_resource |
|
|
|
|
|
|
|
|
|
|
|
:param query: (dict) Query parameters for users count |
|
|
|
|
|
|
|
|
:return: counter |
|
|
:return: counter |
|
|
""" |
|
|
""" |
|
|
|
|
|
query = query or dict() |
|
|
params_path = {"realm-name": self.realm_name} |
|
|
params_path = {"realm-name": self.realm_name} |
|
|
data_raw = self.raw_get(urls_patterns.URL_ADMIN_USERS_COUNT.format(**params_path)) |
|
|
|
|
|
|
|
|
data_raw = self.raw_get(urls_patterns.URL_ADMIN_USERS_COUNT.format(**params_path), **query) |
|
|
return raise_error_from_response(data_raw, KeycloakGetError) |
|
|
return raise_error_from_response(data_raw, KeycloakGetError) |
|
|
|
|
|
|
|
|
def get_user_id(self, username): |
|
|
def get_user_id(self, username): |
|
|
|
@ -184,6 +184,10 @@ def test_users(admin: KeycloakAdmin, realm: str): |
|
|
count = admin.users_count() |
|
|
count = admin.users_count() |
|
|
assert count == 1, count |
|
|
assert count == 1, count |
|
|
|
|
|
|
|
|
|
|
|
# Test users count with query |
|
|
|
|
|
count = admin.users_count(query={"username": "notpresent"}) |
|
|
|
|
|
assert count == 0 |
|
|
|
|
|
|
|
|
# Test user groups |
|
|
# Test user groups |
|
|
groups = admin.get_user_groups(user_id=user["id"]) |
|
|
groups = admin.get_user_groups(user_id=user["id"]) |
|
|
assert len(groups) == 0 |
|
|
assert len(groups) == 0 |
|
|