22set -e
33
44SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
5- E2E_DIR=" $( dirname " $SCRIPT_DIR " ) "
6- ROOT_DIR=" $( dirname " $E2E_DIR " ) "
5+ E2E_DIR=" $( dirname " ${ SCRIPT_DIR} " ) "
6+ ROOT_DIR=" $( dirname " ${ E2E_DIR} " ) "
77
88# Cleanup function
99WIREMOCK_WAS_STARTED=false
1010cleanup () {
11- if [ " $WIREMOCK_WAS_STARTED " = true ]; then
11+ if [[ " ${ WIREMOCK_WAS_STARTED} " = true ] ]; then
1212 echo " Stopping WireMock..."
13- cd " $ROOT_DIR "
13+ cd " ${ ROOT_DIR} "
1414 make mock-stop > /dev/null 2>&1 || true
1515 fi
1616}
@@ -23,16 +23,16 @@ echo "════════════════════════
2323echo " "
2424
2525# Load environment variables
26- if [ -f " $E2E_DIR /.env" ]; then
26+ if [[ -f " ${ E2E_DIR} /.env" ] ]; then
2727 echo " Loading environment variables from .env..."
2828 # shellcheck source=/dev/null
29- set -a && source " $E2E_DIR /.env" && set +a
29+ set -a && source " ${ E2E_DIR} /.env" && set +a
3030fi
3131
3232# Check if WireMock is already running
3333if ! curl -skf https://localhost:8081/__admin/mappings > /dev/null 2>&1 ; then
3434 echo " Starting WireMock mock service..."
35- cd " $ROOT_DIR "
35+ cd " ${ ROOT_DIR} "
3636 make mock-start
3737 WIREMOCK_WAS_STARTED=true
3838else
@@ -45,55 +45,55 @@ export STACKROX_MCP__CENTRAL__API_TOKEN="test-token-admin"
4545export STACKROX_MCP__CENTRAL__INSECURE_SKIP_TLS_VERIFY=" true"
4646
4747# Check OpenAI API key for judge
48- if [ -z " $OPENAI_API_KEY " ]; then
48+ if [[ -z " ${ OPENAI_API_KEY} " ] ]; then
4949 echo " Warning: OPENAI_API_KEY is not set (needed for LLM judge)"
5050 echo " Note: mcpchecker only supports OpenAI-compatible APIs for the judge"
5151fi
5252
5353# Build mcpchecker if not present
54- if [ ! -f " $E2E_DIR /bin/mcpchecker" ]; then
54+ if [[ ! -f " ${ E2E_DIR} /bin/mcpchecker" ] ]; then
5555 echo " mcpchecker binary not found. Building..."
56- " $SCRIPT_DIR /build-mcpchecker.sh"
56+ " ${ SCRIPT_DIR} /build-mcpchecker.sh"
5757 echo " "
5858fi
5959
6060
6161# Set agent environment variables (use OpenAI)
6262export MODEL_BASE_URL=" ${MODEL_BASE_URL:- https:// api.openai.com/ v1} "
63- export MODEL_KEY=" ${MODEL_KEY:- $OPENAI_API_KEY } "
63+ export MODEL_KEY=" ${MODEL_KEY:- ${ OPENAI_API_KEY} } "
6464export MODEL_NAME=" ${MODEL_NAME:- gpt-5-nano} "
6565
6666# Set judge environment variables (use OpenAI)
6767export JUDGE_BASE_URL=" ${JUDGE_BASE_URL:- https:// api.openai.com/ v1} "
68- export JUDGE_API_KEY=" ${JUDGE_API_KEY:- $OPENAI_API_KEY } "
68+ export JUDGE_API_KEY=" ${JUDGE_API_KEY:- ${ OPENAI_API_KEY} } "
6969export JUDGE_MODEL_NAME=" ${JUDGE_MODEL_NAME:- gpt-5-nano} "
7070
7171echo " Configuration:"
72- echo " Central URL: $STACKROX_MCP__CENTRAL__URL (WireMock)"
73- echo " Agent: $MODEL_NAME (OpenAI)"
74- echo " Judge: $JUDGE_MODEL_NAME (OpenAI)"
72+ echo " Central URL: ${ STACKROX_MCP__CENTRAL__URL} (WireMock)"
73+ echo " Agent: ${ MODEL_NAME} (OpenAI)"
74+ echo " Judge: ${ JUDGE_MODEL_NAME} (OpenAI)"
7575echo " MCP Server: stackrox-mcp (via go run)"
7676echo " "
7777
7878# Run mcpchecker
79- cd " $E2E_DIR /mcpchecker"
79+ cd " ${ E2E_DIR} /mcpchecker"
8080echo " Running mcpchecker tests..."
8181echo " "
8282
8383EVAL_FILE=" eval.yaml"
84- echo " Using eval file: $EVAL_FILE "
85- " $E2E_DIR /bin/mcpchecker" check " $EVAL_FILE "
84+ echo " Using eval file: ${ EVAL_FILE} "
85+ " ${ E2E_DIR} /bin/mcpchecker" check " ${ EVAL_FILE} "
8686
8787EXIT_CODE=$?
8888
8989echo " "
90- if [ $ EXIT_CODE -eq 0 ]; then
90+ if [[ " ${ EXIT_CODE} " -eq 0 ] ]; then
9191 echo " ══════════════════════════════════════════════════════════"
9292 echo " Tests Completed Successfully!"
9393 echo " ══════════════════════════════════════════════════════════"
9494else
9595 echo " ══════════════════════════════════════════════════════════"
9696 echo " Tests Failed"
9797 echo " ══════════════════════════════════════════════════════════"
98- exit $ EXIT_CODE
98+ exit " ${ EXIT_CODE} "
9999fi
0 commit comments