Browse Source

test: generalize for older versions

fix/latest_version
Richard Nemeth 2 weeks ago
parent
commit
a0847ea988
No known key found for this signature in database GPG Key ID: 21C39470DF3DEC39
  1. 7
      test_keycloak_init.sh
  2. 16
      tests/test_keycloak_admin.py

7
test_keycloak_init.sh

@ -15,7 +15,12 @@ function keycloak_stop() {
function keycloak_start() {
echo "Starting keycloak docker container"
PWD=$(pwd)
docker run -d --name unittest_keycloak -e KEYCLOAK_ADMIN="${KEYCLOAK_ADMIN}" -e KEYCLOAK_ADMIN_PASSWORD="${KEYCLOAK_ADMIN_PASSWORD}" -p "${KEYCLOAK_PORT}:8080" -v $PWD/tests/providers:/opt/keycloak/providers "${KEYCLOAK_DOCKER_IMAGE}" start-dev --features="admin-fine-grained-authz:v1,token-exchange:v1"
if [[ "$KEYCLOAK_DOCKER_IMAGE_TAG" == "22.0" || "$KEYCLOAK_DOCKER_IMAGE_TAG" == "23.0" ]]; then
KEYCLOAK_FEATURES="admin-fine-grained-authz,token-exchange"
else
KEYCLOAK_FEATURES="admin-fine-grained-authz:v1,token-exchange:v1"
fi
docker run -d --name unittest_keycloak -e KEYCLOAK_ADMIN="${KEYCLOAK_ADMIN}" -e KEYCLOAK_ADMIN_PASSWORD="${KEYCLOAK_ADMIN_PASSWORD}" -p "${KEYCLOAK_PORT}:8080" -v $PWD/tests/providers:/opt/keycloak/providers "${KEYCLOAK_DOCKER_IMAGE}" start-dev --features="${KEYCLOAK_FEATURES}"
SECONDS=0
until curl --silent --output /dev/null localhost:$KEYCLOAK_PORT; do
sleep 5;

16
tests/test_keycloak_admin.py

@ -169,11 +169,15 @@ def test_realms(admin: KeycloakAdmin) -> None:
# Create the same realm, should fail
with pytest.raises(KeycloakPostError) as err:
res = admin.create_realm(payload={"realm": "test"})
assert err.match('400: b\'{"errorMessage":"Realm test already exists"}\'')
assert (
b"Realm test already exists" in err.value.error_message
or b"Conflict detected" in err.value.error_message
)
# Create the same realm, skip_exists true
res = admin.create_realm(payload={"realm": "test"}, skip_exists=True)
assert res == {"errorMessage": "Realm test already exists"}, res
assert res in [{"errorMessage": "Realm test already exists"}, {"msg": "Already exists"}], res
# Get a single realm
res = admin.get_realm(realm_name="test")
@ -3623,11 +3627,15 @@ async def test_a_realms(admin: KeycloakAdmin) -> None:
# Create the same realm, should fail
with pytest.raises(KeycloakPostError) as err:
res = await admin.a_create_realm(payload={"realm": "test"})
assert err.match('400: b\'{"errorMessage":"Realm test already exists"}\'')
assert (
b"Realm test already exists" in err.value.error_message
or b"Conflict detected" in err.value.error_message
)
# Create the same realm, skip_exists true
res = await admin.a_create_realm(payload={"realm": "test"}, skip_exists=True)
assert res == {"errorMessage": "Realm test already exists"}, res
assert res in [{"errorMessage": "Realm test already exists"}, {"msg": "Already exists"}], res
# Get a single realm
res = await admin.a_get_realm(realm_name="test")

Loading…
Cancel
Save