-
Notifications
You must be signed in to change notification settings - Fork 31
Expand file tree
/
Copy pathtests.sh
More file actions
executable file
·96 lines (82 loc) · 2.46 KB
/
tests.sh
File metadata and controls
executable file
·96 lines (82 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/bash
# This script runs a quick E2E test against a running set of services described in ../docker-compose.yml
# and ../docker-compose-zipkin-example.yml.
#
# Usage:
#
# docker-compose -f docker/docker-compose.yml -f docker/docker-compose-zipkin-example.yml up -d
# sh ./circleci/tests.sh
TRACES_SERVER_HOST=${2:-127.0.0.1}
FRONTEND_SERVICE_HOST=${3:-127.0.0.1}
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
echo "Executing test SCRIPT_DIR: $SCRIPT_DIR ARGUMENT: $1"
echo ""
echo "Making sure the traces service is up..."
# curl --retry-connrefused is only available since 7.52.0.
NUMBER_OF_RETRIES=30
RETRY_COUNT=0
while : ; do
if [[ "$RETRY_COUNT" == "$NUMBER_OF_RETRIES" ]]; then
echo "Failed to connect to $TRACES_SERVER_HOST:2020 after $NUMBER_OF_RETRIES retries."
sh $SCRIPT_DIR/inspect.sh $1
exit 1
fi
if [[ "$RETRY_COUNT" != "0" ]]; then
echo "Retry number $RETRY_COUNT."
fi
(curl -s -o /dev/null "http://$TRACES_SERVER_HOST:2020") && break
RETRY_COUNT=$((RETRY_COUNT+1))
sleep 3
done
echo ""
echo "Calling the frontend to generate a trace..."
echo ""
curl -o /dev/null -s http://${FRONTEND_SERVICE_HOST}:8081 || { echo "Host $FRONTEND_SERVICE_HOST is down." ; exit 1; }
echo "Retrieving the list of traces."
echo ""
NUMBER_OF_RETRIES=30
RETRY_COUNT=0
TRACES=""
while : ; do
if [[ "$RETRY_COUNT" == "$NUMBER_OF_RETRIES" ]]; then
echo "Failed to retrieve traces from $TRACES_SERVER_HOST:2020 after $NUMBER_OF_RETRIES retries."
sh $SCRIPT_DIR/inspect.sh $1
exit 1
fi
if [[ "$RETRY_COUNT" != "0" ]]; then
echo "Retry number $RETRY_COUNT."
fi
TRACES=$(curl http://${TRACES_SERVER_HOST}:2020/graphql -H 'Content-Type: application/json' --data-binary \
'{"query":"{
traces(
type: API_TRACE
between: {
startTime: \"2020-01-01T00:00:00.000Z\"
endTime: \"2025-01-01T00:00:00.000Z\"
}
) {
results {
id
}
}
}"}')
ERROR=$(echo $TRACES | jq -r .errors[0].message)
if [[ "$ERROR" != "null" ]]; then
echo ""
echo "Error while retrieving traces: $ERROR.";
sh $SCRIPT_DIR/inspect.sh $1
exit 1;
fi
TRACES_COUNT=$(echo $TRACES | jq '.data.traces.results | length')
if [[ "$TRACES_COUNT" == "0" ]]; then
echo $TRACES | jq .
else
TRACE_ID=$(echo $TRACES | jq -r .data.traces.results[0].id)
break
fi
RETRY_COUNT=$((RETRY_COUNT+1))
sleep 3
done
echo ""
echo "Found trace \"$TRACE_ID\"."
exit 0;