diff --git a/tests/dbz-twin/docker-compose.yaml b/tests/dbz-twin/docker-compose.yaml index 8d5607b7..b3e88ba9 100644 --- a/tests/dbz-twin/docker-compose.yaml +++ b/tests/dbz-twin/docker-compose.yaml @@ -30,7 +30,8 @@ services: - ./output:/app/output olr: - image: olr-dev:${OLR_IMAGE_TAG:-latest} + image: ${OLR_IMAGE:-olr-dev:latest} + user: "${OLR_UID:-1000}:${OLR_GID:-1000}" container_name: dbz-olr entrypoint: ["/bin/bash", "-c", "mkdir -p /olr-data/checkpoint && exec /opt/OpenLogReplicator/OpenLogReplicator \"$@\"", "--"] command: ["-r", "-f", "/config/olr-config.json"] diff --git a/tests/environments/enterprise-19/docker-compose.yaml b/tests/environments/enterprise-19/docker-compose.yaml index dcfa05b5..6cdeb53a 100644 --- a/tests/environments/enterprise-19/docker-compose.yaml +++ b/tests/environments/enterprise-19/docker-compose.yaml @@ -1,6 +1,7 @@ services: olr: - image: olr-dev:${OLR_IMAGE_TAG:-latest} + image: ${OLR_IMAGE:-olr-dev:latest} + user: "${OLR_UID:-1000}:${OLR_GID:-1000}" entrypoint: [] command: ["sleep", "infinity"] volumes: diff --git a/tests/environments/free-23/docker-compose.yaml b/tests/environments/free-23/docker-compose.yaml index 4a1601e2..4e22a447 100644 --- a/tests/environments/free-23/docker-compose.yaml +++ b/tests/environments/free-23/docker-compose.yaml @@ -1,6 +1,7 @@ services: olr: - image: olr-dev:${OLR_IMAGE_TAG:-latest} + image: ${OLR_IMAGE:-olr-dev:latest} + user: "${OLR_UID:-1000}:${OLR_GID:-1000}" entrypoint: [] command: ["sleep", "infinity"] volumes: diff --git a/tests/environments/xe-21-official/docker-compose.yaml b/tests/environments/xe-21-official/docker-compose.yaml index 8284b0c0..b985d677 100644 --- a/tests/environments/xe-21-official/docker-compose.yaml +++ b/tests/environments/xe-21-official/docker-compose.yaml @@ -1,6 +1,7 @@ services: olr: - image: olr-dev:${OLR_IMAGE_TAG:-latest} + image: ${OLR_IMAGE:-olr-dev:latest} + user: "${OLR_UID:-1000}:${OLR_GID:-1000}" entrypoint: [] command: ["sleep", "infinity"] volumes: diff --git a/tests/environments/xe-21/docker-compose.yaml b/tests/environments/xe-21/docker-compose.yaml index 7f93a017..335754c6 100644 --- a/tests/environments/xe-21/docker-compose.yaml +++ b/tests/environments/xe-21/docker-compose.yaml @@ -1,6 +1,7 @@ services: olr: - image: olr-dev:${OLR_IMAGE_TAG:-latest} + image: ${OLR_IMAGE:-olr-dev:latest} + user: "${OLR_UID:-1000}:${OLR_GID:-1000}" entrypoint: [] command: ["sleep", "infinity"] volumes: diff --git a/tests/fixtures/test_fixtures.py b/tests/fixtures/test_fixtures.py index 6c16b101..e3872f17 100644 --- a/tests/fixtures/test_fixtures.py +++ b/tests/fixtures/test_fixtures.py @@ -24,6 +24,7 @@ def _run_olr(config_path, tmp_dir): return subprocess.run( [ "docker", "run", "--rm", + "--user", f"{os.getuid()}:{os.getgid()}", "-v", f"{tmp_dir}:/olr-work", "-v", f"{TESTS_DIR}:/tests:ro", "--entrypoint", "/opt/OpenLogReplicator/OpenLogReplicator", diff --git a/tests/sql/scripts/drivers/base.sh b/tests/sql/scripts/drivers/base.sh index 292215b1..8218e9e9 100644 --- a/tests/sql/scripts/drivers/base.sh +++ b/tests/sql/scripts/drivers/base.sh @@ -33,6 +33,10 @@ # Container path prefix — tests/ is mounted here inside OLR container _CONTAINER_TESTS="${_CONTAINER_TESTS:-/opt/OpenLogReplicator-local/tests}" +# Export UID/GID so docker-compose can set user: on the olr service +export OLR_UID="$(id -u)" +export OLR_GID="$(id -g)" + # ---- Overridable hook ---- patch_gencfg() { :; } diff --git a/tests/sql/scripts/drivers/docker.sh b/tests/sql/scripts/drivers/docker.sh index f8b626fd..9d740657 100755 --- a/tests/sql/scripts/drivers/docker.sh +++ b/tests/sql/scripts/drivers/docker.sh @@ -12,9 +12,9 @@ source "$SCRIPT_DIR/drivers/base.sh" : "${ORACLE_CONTAINER:=oracle}" -_DEXEC="docker exec" +_DEXEC="docker exec -e NLS_LANG=AMERICAN_AMERICA.AL32UTF8" if [[ -n "${DOCKER_EXEC_USER:-}" ]]; then - _DEXEC="docker exec -u $DOCKER_EXEC_USER" + _DEXEC="docker exec -e NLS_LANG=AMERICAN_AMERICA.AL32UTF8 -u $DOCKER_EXEC_USER" fi _OLR_BINARY="/opt/OpenLogReplicator/OpenLogReplicator"