From db972a71f1fe5cd6519a1e30bf3d087b302108cb Mon Sep 17 00:00:00 2001 From: Ziyang Guo <121015044+RerankerGuo@users.noreply.github.com> Date: Thu, 16 Jul 2026 18:58:30 +0800 Subject: [PATCH] test: honor AgentTeams GitHub token env --- tests/README.md | 2 +- tests/lib/test-helpers.sh | 3 +++ tests/run-all-tests.sh | 3 +++ tests/skills/hiclaw-test/SKILL.md | 4 ++-- tests/unit/test-github-token-env.sh | 37 +++++++++++++++++++++++++++++ 5 files changed, 46 insertions(+), 3 deletions(-) create mode 100755 tests/unit/test-github-token-env.sh diff --git a/tests/README.md b/tests/README.md index 10010fe3f..351977666 100644 --- a/tests/README.md +++ b/tests/README.md @@ -76,7 +76,7 @@ make test SKIP_INSTALL=1 | Variable | Required | Description | |----------|----------|-------------| | `HICLAW_LLM_API_KEY` | Yes | LLM API key for Agent behavior | -| `HICLAW_GITHUB_TOKEN` | No | GitHub PAT for tests 08-11 | +| `AGENTTEAMS_GITHUB_TOKEN` | No | GitHub PAT for tests 08-13 (`HICLAW_GITHUB_TOKEN` remains supported) | ## Helper Libraries diff --git a/tests/lib/test-helpers.sh b/tests/lib/test-helpers.sh index c1cfbd4a7..d78dd7449 100755 --- a/tests/lib/test-helpers.sh +++ b/tests/lib/test-helpers.sh @@ -40,6 +40,9 @@ export TEST_GATEWAY_PORT="${TEST_GATEWAY_PORT:-18080}" export TEST_CONSOLE_PORT="${TEST_CONSOLE_PORT:-18001}" export TEST_ELEMENT_PORT="${TEST_ELEMENT_PORT:-18088}" +# Prefer the current installer contract while retaining test and legacy overrides. +export TEST_GITHUB_TOKEN="${TEST_GITHUB_TOKEN:-${AGENTTEAMS_GITHUB_TOKEN:-${HICLAW_GITHUB_TOKEN:-}}}" + # Internal container URLs — always fixed; all callers use exec_in_manager export TEST_MATRIX_DIRECT_URL="http://127.0.0.1:6167" export TEST_MINIO_URL="http://127.0.0.1:9000" diff --git a/tests/run-all-tests.sh b/tests/run-all-tests.sh index 3414ed77d..abc8b9f9f 100755 --- a/tests/run-all-tests.sh +++ b/tests/run-all-tests.sh @@ -31,6 +31,7 @@ export TEST_REGISTRATION_TOKEN="${TEST_REGISTRATION_TOKEN:-test-reg-token-$(open export TEST_MATRIX_DOMAIN="${TEST_MATRIX_DOMAIN:-matrix-local.agentteams.io:18080}" export TEST_MANAGER_HOST="${TEST_MANAGER_HOST:-127.0.0.1}" export HICLAW_LLM_API_KEY="${HICLAW_LLM_API_KEY:-${AGENTTEAMS_LLM_API_KEY:-}}" +export TEST_GITHUB_TOKEN="${TEST_GITHUB_TOKEN:-${AGENTTEAMS_GITHUB_TOKEN:-${HICLAW_GITHUB_TOKEN:-}}}" # Parse arguments while [[ $# -gt 0 ]]; do @@ -60,6 +61,7 @@ load_env_file() { AGENTTEAMS_REGISTRATION_TOKEN) export TEST_REGISTRATION_TOKEN="${value}" ;; AGENTTEAMS_MATRIX_DOMAIN) export TEST_MATRIX_DOMAIN="${value}" ;; AGENTTEAMS_LLM_API_KEY) [ -z "${HICLAW_LLM_API_KEY}" ] && export HICLAW_LLM_API_KEY="${value}" ;; + AGENTTEAMS_GITHUB_TOKEN) [ -z "${TEST_GITHUB_TOKEN}" ] && export TEST_GITHUB_TOKEN="${value}" ;; AGENTTEAMS_PORT_GATEWAY) export TEST_GATEWAY_PORT="${value}" ;; AGENTTEAMS_PORT_CONSOLE) export TEST_CONSOLE_PORT="${value}" ;; HICLAW_ADMIN_USER) export TEST_ADMIN_USER="${value}" ;; @@ -69,6 +71,7 @@ load_env_file() { HICLAW_REGISTRATION_TOKEN) export TEST_REGISTRATION_TOKEN="${value}" ;; HICLAW_MATRIX_DOMAIN) export TEST_MATRIX_DOMAIN="${value}" ;; HICLAW_LLM_API_KEY) [ -z "${HICLAW_LLM_API_KEY}" ] && export HICLAW_LLM_API_KEY="${value}" ;; + HICLAW_GITHUB_TOKEN) [ -z "${TEST_GITHUB_TOKEN}" ] && export TEST_GITHUB_TOKEN="${value}" ;; HICLAW_PORT_GATEWAY) export TEST_GATEWAY_PORT="${value}" ;; HICLAW_PORT_CONSOLE) export TEST_CONSOLE_PORT="${value}" ;; esac diff --git a/tests/skills/hiclaw-test/SKILL.md b/tests/skills/hiclaw-test/SKILL.md index 02f04c8d8..59446c88e 100644 --- a/tests/skills/hiclaw-test/SKILL.md +++ b/tests/skills/hiclaw-test/SKILL.md @@ -48,7 +48,7 @@ Test cases: - **test-04**: Human intervention with additional instructions - **test-05**: Heartbeat query mechanism - **test-06**: Multi-Worker collaboration -- **test-08~14**: GitHub/MCP related tests (requires HICLAW_GITHUB_TOKEN) +- **test-08~14**: GitHub/MCP related tests (requires `AGENTTEAMS_GITHUB_TOKEN`) ### Step 3: Individual Install/Uninstall @@ -165,7 +165,7 @@ timeout 1200 ./tests/run-all-tests.sh --skip-build --use-existing [36m[TEST INFO][0m SKIP: No GitHub token configured ``` -Requires `HICLAW_GITHUB_TOKEN` environment variable. +Set `AGENTTEAMS_GITHUB_TOKEN` before running these tests. The legacy `HICLAW_GITHUB_TOKEN` variable remains supported. ### Metrics Files diff --git a/tests/unit/test-github-token-env.sh b/tests/unit/test-github-token-env.sh new file mode 100755 index 000000000..4ee2b9fd0 --- /dev/null +++ b/tests/unit/test-github-token-env.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +HELPER="${HELPER:-${SCRIPT_DIR}/../lib/test-helpers.sh}" +ORCHESTRATOR="${ORCHESTRATOR:-${SCRIPT_DIR}/../run-all-tests.sh}" + +assert_token() { + local expected="$1" + local test_token="$2" + local agentteams_token="$3" + local legacy_token="$4" + local actual + + actual=$(TEST_GITHUB_TOKEN="${test_token}" \ + AGENTTEAMS_GITHUB_TOKEN="${agentteams_token}" \ + HICLAW_GITHUB_TOKEN="${legacy_token}" \ + HELPER="${HELPER}" \ + bash -c 'docker() { return 1; }; source "${HELPER}"; printf "%s" "${TEST_GITHUB_TOKEN}"') + + if [ "${actual}" != "${expected}" ]; then + echo "FAIL: expected token ${expected}, got ${actual:-}" >&2 + exit 1 + fi +} + +assert_token canonical '' canonical legacy +assert_token explicit explicit canonical legacy +assert_token legacy '' '' legacy + +if ! grep -q 'AGENTTEAMS_GITHUB_TOKEN)' "${ORCHESTRATOR}"; then + echo "FAIL: orchestrator does not load AGENTTEAMS_GITHUB_TOKEN from the env file" >&2 + exit 1 +fi + +echo "PASS: GitHub test token honors explicit, AgentTeams, and legacy inputs"