dominik-korsa
3 weeks ago
No known key found for this signature in database
GPG Key ID: 5A24D76EE0A30974
2 changed files with
11 additions and
4 deletions
-
src/keycloak/keycloak_admin.py
-
tests/test_keycloak_admin.py
|
|
|
@ -39,7 +39,6 @@ from .exceptions import ( |
|
|
|
HTTP_CONFLICT, |
|
|
|
HTTP_CREATED, |
|
|
|
HTTP_NO_CONTENT, |
|
|
|
HTTP_NOT_FOUND, |
|
|
|
HTTP_OK, |
|
|
|
KeycloakDeleteError, |
|
|
|
KeycloakGetError, |
|
|
|
@ -1942,6 +1941,8 @@ class KeycloakAdmin: |
|
|
|
|
|
|
|
Returns full group details for a group defined by path |
|
|
|
|
|
|
|
Raises an `KeycloakGetError` if the group was not found. |
|
|
|
|
|
|
|
GroupRepresentation |
|
|
|
https://www.keycloak.org/docs-api/24.0.2/rest-api/#_grouprepresentation |
|
|
|
|
|
|
|
@ -1954,7 +1955,11 @@ class KeycloakAdmin: |
|
|
|
data_raw = self.connection.raw_get( |
|
|
|
urls_patterns.URL_ADMIN_GROUP_BY_PATH.format(**params_path), |
|
|
|
) |
|
|
|
return raise_error_from_response(data_raw, KeycloakGetError, [HTTP_OK, HTTP_NOT_FOUND]) |
|
|
|
# PR https://github.com/marcospereirampj/python-keycloak/pull/627 |
|
|
|
# added `HTTP_NOT_FOUND` to the `expected_codes` argument. |
|
|
|
# This change has since been reverted, see: |
|
|
|
# https://github.com/marcospereirampj/python-keycloak/issues/675 |
|
|
|
return raise_error_from_response(data_raw, KeycloakGetError) |
|
|
|
|
|
|
|
def create_group( |
|
|
|
self, |
|
|
|
|
|
|
|
@ -1011,8 +1011,10 @@ def test_groups(admin: KeycloakAdmin, user: str) -> None: |
|
|
|
assert res is not None, res |
|
|
|
assert res["id"] == subgroup_id_1, res |
|
|
|
|
|
|
|
res = admin.get_group_by_path(path="/main-group/subgroup-2/subsubgroup-1/test") |
|
|
|
assert res["error"] == "Group path does not exist" |
|
|
|
# See https://github.com/marcospereirampj/python-keycloak/issues/675 |
|
|
|
with pytest.raises(KeycloakGetError) as err: |
|
|
|
admin.get_group_by_path(path="/main-group/subgroup-2/subsubgroup-1/does-not-exist") |
|
|
|
assert err.match('404: b\'{"error":"Group path does not exist".*}\'') |
|
|
|
|
|
|
|
res = admin.get_group_by_path(path="/main-group/subgroup-2/subsubgroup-1") |
|
|
|
assert res is not None, res |
|
|
|
|