Skip to content

Commit ae593ef

Browse files
also include legacy vars
1 parent bf07954 commit ae593ef

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

modules/keycloak/testcontainers/keycloak/__init__.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
from testcontainers.core.container import DockerContainer
2020
from testcontainers.core.waiting_utils import wait_container_is_ready
2121

22+
# Since Keycloak v26.0.0
23+
# See: https://www.keycloak.org/server/all-config#category-bootstrap_admin
24+
ADMIN_USERNAME_ENVIRONMENT_VARIABLE = "KC_BOOTSTRAP_ADMIN_USERNAME"
25+
ADMIN_PASSWORD_ENVIRONMENT_VARIABLE = "KC_BOOTSTRAP_ADMIN_PASSWORD"
2226

2327
class KeycloakContainer(DockerContainer):
2428
has_realm_imports = False
25-
# Since Keycloak v26.0.0
26-
# See: https://www.keycloak.org/server/all-config#category-bootstrap_admin
27-
ADMIN_USERNAME_ENVIRONMENT_VARIABLE = "KC_BOOTSTRAP_ADMIN_USERNAME"
28-
ADMIN_PASSWORD_ENVIRONMENT_VARIABLE = "KC_BOOTSTRAP_ADMIN_PASSWORD"
2929

3030
"""
3131
Keycloak container.
@@ -51,16 +51,19 @@ def __init__(
5151
cmd: Optional[str] = "start-dev",
5252
) -> None:
5353
super().__init__(image=image)
54-
self.username = username or os.environ.get(self.ADMIN_USERNAME_ENVIRONMENT_VARIABLE, "test")
55-
self.password = password or os.environ.get(self.ADMIN_PASSWORD_ENVIRONMENT_VARIABLE, "test")
54+
self.username = username or os.environ.get(ADMIN_USERNAME_ENVIRONMENT_VARIABLE, "test")
55+
self.password = password or os.environ.get(ADMIN_PASSWORD_ENVIRONMENT_VARIABLE, "test")
5656
self.port = port
5757
self.management_port = management_port
5858
self.with_exposed_ports(self.port, self.management_port)
5959
self.cmd = cmd
6060

6161
def _configure(self) -> None:
62-
self.with_env(self.ADMIN_USERNAME_ENVIRONMENT_VARIABLE, self.username)
63-
self.with_env(self.ADMIN_PASSWORD_ENVIRONMENT_VARIABLE, self.password)
62+
self.with_env(ADMIN_USERNAME_ENVIRONMENT_VARIABLE, self.username)
63+
self.with_env(ADMIN_PASSWORD_ENVIRONMENT_VARIABLE, self.password)
64+
# legacy env vars (<= 26.0.0)
65+
self.with_env("KEYCLOAK_ADMIN", self.username)
66+
self.with_env("KEYCLOAK_ADMIN_PASSWORD", self.password)
6467
# Enable health checks
6568
# see: https://www.keycloak.org/server/health#_relevant_options
6669
self.with_env("KC_HEALTH_ENABLED", "true")

modules/keycloak/tests/test_keycloak.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from testcontainers.keycloak import KeycloakContainer
33

44

5-
@pytest.mark.parametrize("image_version", ["latest", "26.0.0"])
5+
@pytest.mark.parametrize("image_version", ["26.0.0", "25.0", "24.0.1", "18.0"])
66
def test_docker_run_keycloak(image_version: str):
77
with KeycloakContainer(f"quay.io/keycloak/keycloak:{image_version}") as keycloak_admin:
88
assert keycloak_admin.get_client().users_count() == 1

0 commit comments

Comments
 (0)