Browse Source
revert: Revert error handling change in `KeycloakAdmin.get_group_by_path` (#676 )
This change was introduced in https://github.com/marcospereirampj/python-keycloak/pull/627
Co-authored-by: Richard Nemeth <ryshoooo@gmail.com>
BREAKING CHANGE: changes the behavior of get_group_by_path to raise an exception in case the path is not found, which is now the definitive new behavior
master
v6.0.0
Dominik
2 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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 ,
@ -1948,6 +1947,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
@ -1960,7 +1961,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 ,
@ -1013,8 +1013,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