Skip to content

Commit cb78635

Browse files
authored
Docker: Update basic auth headers in util scripts (#2779)
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 44918ae commit cb78635

File tree

10 files changed

+53
-25
lines changed

10 files changed

+53
-25
lines changed

Diff for: Base/check-grid.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ set -e
55

66
HOST="localhost"
77
PORT="4444"
8-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
8+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
9+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
10+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
11+
fi
912

1013
echoerr() { echo "$@" 1>&2; }
1114

@@ -27,4 +30,4 @@ while [[ $# -gt 0 ]]; do
2730
esac
2831
done
2932

30-
curl -skSL --noproxy "*" -H "Authorization: Basic ${BASIC_AUTH}" ${SE_SERVER_PROTOCOL:-"http"}://${HOST}:${PORT}/wd/hub/status | jq -r '.value.ready' | grep -q "true" || exit 1
33+
curl -skSL --noproxy "*" -H "${BASIC_AUTH}" ${SE_SERVER_PROTOCOL:-"http"}://${HOST}:${PORT}/wd/hub/status | jq -r '.value.ready' | grep -q "true" || exit 1

Diff for: Video/validate_endpoint.sh

+6-3
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ max_time=1
66
ts_format=${SE_LOG_TIMESTAMP_FORMAT:-"%Y-%m-%d %H:%M:%S,%3N"}
77
process_name="endpoint.checks"
88

9-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
9+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
10+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
11+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
12+
fi
1013

1114
if [ "${graphql_endpoint}" = "true" ]; then
1215
endpoint_checks=$(curl --noproxy "*" -m ${max_time} -k -X POST \
1316
-H "Content-Type: application/json" \
14-
-H "Authorization: Basic ${BASIC_AUTH}" \
17+
-H "${BASIC_AUTH}" \
1518
--data '{"query":"{ grid { sessionCount } }"}' \
1619
-s "${endpoint}" -o /dev/null -w "%{http_code}")
1720
else
18-
endpoint_checks=$(curl --noproxy "*" -H "Authorization: Basic ${BASIC_AUTH}" -m ${max_time} -s -k -o /dev/null -w "%{http_code}" "${endpoint}")
21+
endpoint_checks=$(curl --noproxy "*" -H "${BASIC_AUTH}" -m ${max_time} -s -k -o /dev/null -w "%{http_code}" "${endpoint}")
1922
fi
2023

2124
if [[ "$endpoint_checks" = "404" ]]; then

Diff for: Video/video.sh

+6-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ else
3232
fi
3333

3434
/opt/bin/validate_endpoint.sh "${NODE_STATUS_ENDPOINT}"
35-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
35+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
36+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
37+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
38+
fi
3639

3740
if [ -d "${VIDEO_FOLDER}" ]; then
3841
echo "$(date -u +"${ts_format}") [${process_name}] - Video folder exists: ${VIDEO_FOLDER}"
@@ -78,7 +81,7 @@ function wait_for_display() {
7881
}
7982

8083
function check_if_api_respond() {
81-
endpoint_checks=$(curl --noproxy "*" -H "Authorization: Basic ${BASIC_AUTH}" -sk -o /dev/null -w "%{http_code}" "${NODE_STATUS_ENDPOINT}")
84+
endpoint_checks=$(curl --noproxy "*" -H "${BASIC_AUTH}" -sk -o /dev/null -w "%{http_code}" "${NODE_STATUS_ENDPOINT}")
8285
if [[ "${endpoint_checks}" != "200" ]]; then
8386
return 1
8487
fi
@@ -236,7 +239,7 @@ else
236239
recorded_count=0
237240

238241
wait_for_api_respond
239-
while curl --noproxy "*" -H "Authorization: Basic ${BASIC_AUTH}" -sk --request GET ${NODE_STATUS_ENDPOINT} >/tmp/status.json; do
242+
while curl --noproxy "*" -H "${BASIC_AUTH}" -sk --request GET ${NODE_STATUS_ENDPOINT} >/tmp/status.json; do
240243
session_id=$(jq -r "${JQ_SESSION_ID_QUERY}" /tmp/status.json)
241244
if [[ "$session_id" != "null" && "$session_id" != "" && "$session_id" != "reserved" && "$recording_started" = "false" ]]; then
242245
echo "$(date -u +"${ts_format}") [${process_name}] - Session: $session_id is created"

Diff for: Video/video_graphQLQuery.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ if [[ -n ${GRAPHQL_ENDPOINT} ]] && [[ ! ${GRAPHQL_ENDPOINT} == */graphql ]]; the
1414
GRAPHQL_ENDPOINT="${GRAPHQL_ENDPOINT}/graphql"
1515
fi
1616

17-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
17+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
18+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
19+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
20+
fi
1821

1922
VIDEO_CAP_NAME=${VIDEO_CAP_NAME:-"se:recordVideo"}
2023
TEST_NAME_CAP=${TEST_NAME_CAP:-"se:name"}
@@ -29,7 +32,7 @@ if [ -n "${GRAPHQL_ENDPOINT}" ]; then
2932
# Send GraphQL query
3033
endpoint_checks=$(curl --noproxy "*" -m ${max_time} -k -X POST \
3134
-H "Content-Type: application/json" \
32-
-H "Authorization: Basic ${BASIC_AUTH}" \
35+
-H "${BASIC_AUTH}" \
3336
--data '{"query":"{ session (id: \"'${SESSION_ID}'\") { id, capabilities, startTime, uri, nodeId, nodeUri, sessionDurationMillis, slot { id, stereotype, lastStarted } } } "}' \
3437
-s "${GRAPHQL_ENDPOINT}" -o "/tmp/graphQL_${SESSION_ID}.json" -w "%{http_code}")
3538
current_check=$((current_check + 1))

Diff for: charts/selenium-grid/configs/distributor/distributorProbe.sh

+9-6
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,31 @@ ts_format=${SE_LOG_TIMESTAMP_FORMAT:-"%Y-%m-%d %H:%M:%S,%3N"}
77
ROUTER_CONFIG_DIRECTORY=${ROUTER_CONFIG_DIRECTORY:-"/opt/bin"}
88

99
GRID_GRAPHQL_URL=$(bash ${ROUTER_CONFIG_DIRECTORY}/routerGraphQLUrl.sh)
10-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
10+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
11+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
12+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
13+
fi
1114

1215
if [ -z "${GRID_GRAPHQL_URL}" ]; then
1316
echo "$(date -u +"${ts_format}") DEBUG [${probe_name}] - Could not construct GraphQL endpoint, please provide SE_HUB_HOST (or SE_ROUTER_HOST) and SE_HUB_PORT (or SE_ROUTER_PORT). Bypass the probe checks for now."
1417
exit 0
1518
fi
1619

17-
GRAPHQL_PRE_CHECK=$(curl --noproxy "*" -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount } }"}' -s -o /dev/null -w "%{http_code}" ${GRID_GRAPHQL_URL})
20+
GRAPHQL_PRE_CHECK=$(curl --noproxy "*" -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount } }"}' -s -o /dev/null -w "%{http_code}" ${GRID_GRAPHQL_URL})
1821

1922
if [ ${GRAPHQL_PRE_CHECK} -ne 200 ]; then
2023
echo "$(date -u +"${ts_format}") DEBUG [${probe_name}] - GraphQL endpoint ${GRID_GRAPHQL_URL} is not reachable. Status code: ${GRAPHQL_PRE_CHECK}."
2124
exit 1
2225
fi
2326

24-
SESSION_QUEUE_SIZE=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionQueueSize } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.sessionQueueSize')
27+
SESSION_QUEUE_SIZE=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionQueueSize } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.sessionQueueSize')
2528

26-
SESSION_COUNT=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query": "{ grid { sessionCount } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.sessionCount')
29+
SESSION_COUNT=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query": "{ grid { sessionCount } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.sessionCount')
2730

28-
MAX_SESSION=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { maxSession } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.maxSession')
31+
MAX_SESSION=$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { maxSession } }"}' -s ${GRID_GRAPHQL_URL} | jq -r '.data.grid.maxSession')
2932

3033
if [ "${SE_LOG_LISTEN_GRAPHQL:-"false"}" = "true" ]; then
31-
echo "$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount, maxSession, totalSlots }, nodesInfo { nodes { id, status, sessionCount, maxSession, slotCount, stereotypes, sessions { id, capabilities, slot { id, stereotype } } } }, sessionsInfo { sessionQueueRequests } }"}' -s ${GRID_GRAPHQL_URL} )"
34+
echo "$(curl --noproxy "*" --retry ${retry_time} -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount, maxSession, totalSlots }, nodesInfo { nodes { id, status, sessionCount, maxSession, slotCount, stereotypes, sessions { id, capabilities, slot { id, stereotype } } } }, sessionsInfo { sessionQueueRequests } }"}' -s ${GRID_GRAPHQL_URL} )"
3235
fi
3336

3437
if [ ${SESSION_QUEUE_SIZE} -gt 0 ] && [ ${SESSION_COUNT} -eq 0 ]; then

Diff for: charts/selenium-grid/configs/node/nodeGridUrl.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
max_time=3
44

5-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
5+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
6+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
7+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
8+
fi
69

710
if [ "${SE_SUB_PATH}" = "/" ]; then
811
SE_SUB_PATH=""
@@ -22,7 +25,7 @@ if [ -z "${grid_url}" ]; then
2225
grid_url="${SE_SERVER_PROTOCOL}://127.0.0.1:4444${SE_SUB_PATH}" # For standalone mode
2326
fi
2427

25-
grid_url_checks=$(curl --noproxy "*" -H "Authorization: Basic ${BASIC_AUTH}" -m ${max_time} -s -k -o /dev/null -w "%{http_code}" ${grid_url})
28+
grid_url_checks=$(curl --noproxy "*" -H "${BASIC_AUTH}" -m ${max_time} -s -k -o /dev/null -w "%{http_code}" ${grid_url})
2629

2730
return_array=("${grid_url}" "${grid_url_checks}")
2831

Diff for: charts/selenium-grid/configs/node/nodePreStop.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,18 @@ function signal_hub_to_drain_node() {
4343
return_list=($(bash ${NODE_CONFIG_DIRECTORY}/nodeGridUrl.sh))
4444
grid_url=${return_list[0]}
4545
grid_check=${return_list[1]}
46-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
46+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
47+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
48+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
49+
fi
4750
if [ -n "${grid_url}" ]; then
4851
if [ "${grid_check}" = "401" ]; then
4952
echo "$(date -u +"${ts_format}") [${probe_name}] - Hub/Router requires authentication. Please check env vars SE_ROUTER_USERNAME and SE_ROUTER_PASSWORD are given."
5053
elif [ "${grid_check}" = "404" ]; then
5154
echo "$(date -u +"${ts_format}") [${probe_name}] - Hub/Router endpoint could not be found. Please check the endpoint ${grid_url}"
5255
elif [ "${grid_check}" = "200" ]; then
5356
echo "$(date -u +"${ts_format}") [${probe_name}] - Hub/Router endpoint is reachable. Signaling Hub/Router to drain node"
54-
curl --noproxy "*" -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" ${grid_url}/se/grid/distributor/node/${NODE_ID}/drain --header "${HEADERS}"
57+
curl --noproxy "*" -m ${max_time} -k -X POST -H "${BASIC_AUTH}" ${grid_url}/se/grid/distributor/node/${NODE_ID}/drain --header "${HEADERS}"
5558
else
5659
echo "$(date -u +"${ts_format}") [${probe_name}] - Hub/Router endpoint returns ${grid_check}. Skip signaling upstream."
5760
fi

Diff for: charts/selenium-grid/configs/node/nodeProbe.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ if curl --noproxy "*" -m ${max_time} -sfk "${SE_SERVER_PROTOCOL}://127.0.0.1:${S
4141
return_list=($(bash ${NODE_CONFIG_DIRECTORY}/nodeGridUrl.sh))
4242
grid_url=${return_list[0]}
4343
grid_check=${return_list[1]}
44-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
44+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
45+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
46+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
47+
fi
4548

4649
if [ -n "${grid_url}" ]; then
4750
if [ "${grid_check}" = "401" ]; then
@@ -53,7 +56,7 @@ if curl --noproxy "*" -m ${max_time} -sfk "${SE_SERVER_PROTOCOL}://127.0.0.1:${S
5356
echo "$(date -u +"${ts_format}") [${probe_name}] - There is no configured HUB/ROUTER host or SE_NODE_GRID_URL isn't set. ${probe_name} will not work as expected."
5457
fi
5558

56-
endpoint_http_code=$(curl --noproxy "*" -m ${max_time} -H "Authorization: Basic ${BASIC_AUTH}" -sfk "${grid_url}/status" -o "${tmp_grid_file}" -w "%{http_code}")
59+
endpoint_http_code=$(curl --noproxy "*" -m ${max_time} -H "${BASIC_AUTH}" -sfk "${grid_url}/status" -o "${tmp_grid_file}" -w "%{http_code}")
5760
GRID_NODE_ID=$(jq -e ".value.nodes[]?.id|select(. == \"${NODE_ID}\")" "${tmp_grid_file}" | tr -d '"' || echo "")
5861
if [ -n "${GRID_NODE_ID}" ]; then
5962
echo "$(date -u +"${ts_format}") [${probe_name}] - Grid responds a matched Node ID: ${GRID_NODE_ID}"

Diff for: charts/selenium-grid/configs/router/routerProbe.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ ts_format=${SE_LOG_TIMESTAMP_FORMAT:-"%Y-%m-%d %H:%M:%S,%3N"}
77
ROUTER_CONFIG_DIRECTORY=${ROUTER_CONFIG_DIRECTORY:-"/opt/bin"}
88

99
GRID_GRAPHQL_URL=$(bash ${ROUTER_CONFIG_DIRECTORY}/routerGraphQLUrl.sh)
10-
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
10+
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
11+
BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
12+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
13+
fi
1114

1215
if [ -z "${GRID_GRAPHQL_URL}" ]; then
1316
echo "$(date -u +"${ts_format}") DEBUG [${probe_name}] - Could not construct GraphQL endpoint, please provide SE_HUB_HOST (or SE_ROUTER_HOST) and SE_HUB_PORT (or SE_ROUTER_PORT). Bypass the probe checks for now."
1417
exit 0
1518
fi
1619

17-
GRAPHQL_PRE_CHECK=$(curl --noproxy "*" -m ${max_time} -k -X POST -H "Authorization: Basic ${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount } }"}' -s -o /dev/null -w "%{http_code}" ${GRID_GRAPHQL_URL})
20+
GRAPHQL_PRE_CHECK=$(curl --noproxy "*" -m ${max_time} -k -X POST -H "${BASIC_AUTH}" -H "Content-Type: application/json" --data '{"query":"{ grid { sessionCount } }"}' -s -o /dev/null -w "%{http_code}" ${GRID_GRAPHQL_URL})
1821

1922
if [ ${GRAPHQL_PRE_CHECK} -ne 200 ]; then
2023
echo "$(date -u +"${ts_format}") DEBUG [${probe_name}] - GraphQL endpoint is not reachable. Status code: ${GRAPHQL_PRE_CHECK}."

Diff for: tests/CDPTests/bootstrap.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ echo "SELENIUM_REMOTE_URL=${SELENIUM_REMOTE_URL}" > .env
1313
if [ -n ${SELENIUM_GRID_USERNAME} ] && [ -n ${SELENIUM_GRID_PASSWORD} ]; then
1414
BASIC_AUTH="$(echo -en "${SELENIUM_GRID_USERNAME}:${SELENIUM_GRID_PASSWORD}" | base64 -w0)"
1515
echo "SELENIUM_REMOTE_HEADERS={\"Authorization\": \"Basic ${BASIC_AUTH}\"}" >> .env
16+
BASIC_AUTH="Authorization: Basic ${BASIC_AUTH}"
1617
fi
1718

1819
echo "SELENIUM_REMOTE_CAPABILITIES={\"browserName\": \"${BROWSER}\", \"platformName\": \"Linux\"}" >> .env
1920
echo "NODE_EXTRA_CA_CERTS=${CHART_CERT_PATH}" >> .env
2021

2122
cat .env
2223

23-
until [ "$(curl --noproxy "*" -sk -H "Authorization: Basic ${BASIC_AUTH}" -o /dev/null -w "%{http_code}" "${SELENIUM_REMOTE_URL}/status")" = "200" ]; do
24+
until [ "$(curl --noproxy "*" -sk -H "${BASIC_AUTH}" -o /dev/null -w "%{http_code}" "${SELENIUM_REMOTE_URL}/status")" = "200" ]; do
2425
echo "Waiting for Grid to be ready..."
2526
sleep 1
2627
done

0 commit comments

Comments
 (0)