Skip to content

Commit 4d32c03

Browse files
committed
Neutralize test case printing color and break if no test cases found
1 parent aea91a5 commit 4d32c03

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

api-test.sh

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -177,20 +177,27 @@ api_factory() {
177177
test_factory() {
178178
for TEST_CASE in $@; do
179179
API_ERROR=0
180-
echo "${BOLD}Testing Case: \"$TEST_CASE\"${RESET}"
180+
echo "${BOLD}Testing Case:${RESET} $TEST_CASE"
181181
echo_v "${BOLD}Description: ${RESET}$(jq -r ".testCases.$TEST_CASE.description" $FILE)"
182182
echo_v "${BOLD}Action: ${RESET}$(jq -r ".testCases.$TEST_CASE.method //\"GET\" | ascii_upcase" $FILE) $(jq -r ".testCases.$TEST_CASE.path" $FILE)"
183183
call_api $TEST_CASE
184184
if [[ $API_ERROR == 1 ]]; then
185-
return
185+
continue
186+
fi
187+
if [[ -z $(jq -r ".testCases.$TEST_CASE.expect? | select(. !=null)" $FILE) ]]; then
188+
tput cuf 2
189+
echo "No test cases found"
190+
echo ""
191+
echo ""
192+
continue
186193
fi
187194
tput cuf 2
188-
echo "${BOLD}${UNDERLINE}a. Checking condition for header${RESET}"
195+
echo "${UNDERLINE}a. Checking condition for header${RESET}"
189196
test_runner $TEST_CASE "header" "$RESPONSE_HEADER"
190197
echo ""
191198
echo ""
192199
tput cuf 2
193-
echo "${BOLD}${UNDERLINE}b. Checking condition for body${RESET}"
200+
echo "${UNDERLINE}b. Checking condition for body${RESET}"
194201
test_runner $TEST_CASE "body" "$RESPONSE_BODY"
195202

196203
echo ""
@@ -206,13 +213,13 @@ test_runner() {
206213
fi
207214
tput cuf 4
208215
if [[ $test == "contains" ]]; then
209-
echo "${BOLD}Checking contains comparision${RESET}"
216+
echo "Checking contains comparision${RESET}"
210217
contains "$TEST_SCENARIO" "$3"
211218
elif [[ $test == "eq" ]]; then
212-
echo "${BOLD}Checking equality comparision${RESET}"
219+
echo "Checking equality comparision${RESET}"
213220
check_eq "$TEST_SCENARIO" "$3"
214221
else
215-
echo "${BOLD}Checking has key comparision${RESET}"
222+
echo "Checking has key comparision${RESET}"
216223
has_key "$TEST_SCENARIO" "$3"
217224
fi
218225
done
@@ -222,13 +229,13 @@ contains() {
222229
tput cuf 6
223230
local check=$(jq --argjson a "$1" --argjson b "$2" -n '$a | select(. != null) | $b | contains($a)')
224231
if [[ $check == "true" ]]; then
225-
echo "${BOLD}${GREEN}Check Passed${RESET}"
232+
echo "${GREEN}${BOLD}Check Passed${RESET}"
226233
else
227-
echo "${BOLD}${RED}Check Failed${RESET}"
234+
echo "${RED}${BOLD}Check Failed${RESET}"
228235
echo "EXPECTED:"
229236
echo "${RED}$1${RESET}"
230237
echo "GOT:"
231-
echo "${GREEN}$2${RESET}"
238+
echo "${GREEN}${BOLD}$2${RESET}"
232239
fi
233240
}
234241

@@ -252,27 +259,27 @@ has_key() {
252259
fi
253260
done
254261
if [[ $FOUND == 0 ]]; then
255-
echo "${BOLD}${RED}Check Failed${RESET}"
262+
echo "${RED}${BOLD}Check Failed${RESET}"
256263
echo "CANNOT FIND KEY:"
257264
echo "${RED}$path${RESET}"
258265
return
259266
fi
260267
done
261-
echo "${BOLD}${GREEN}Check Passed${RESET}"
268+
echo "${GREEN}${BOLD}Check Passed${RESET}"
262269
}
263270

264271
check_eq() {
265272
tput cuf 6
266273
local check=$(jq --argjson a "$1" --argjson b "$2" -n 'def post_recurse(f): def r: (f | select(. != null) | r), .; r; def post_recurse: post_recurse(.[]?); ($a | (post_recurse | arrays) |= sort) as $a | ($b | (post_recurse | arrays) |= sort) as $b | $a == $b')
267274
if [[ $check == "true" ]]; then
268-
echo "${BOLD}${GREEN}Check Passed${RESET}"
275+
echo "${GREEN}${BOLD}Check Passed${RESET}"
269276
else
270277
tput cuf 2
271-
echo "${BOLD}${RED}Check Failed${RESET}"
278+
echo "${RED}${BOLD}Check Failed${RESET}"
272279
echo "EXPECTED:"
273280
echo "${RED}$1${RESET}"
274281
echo "GOT:"
275-
echo "${GREEN}$2${RESET}"
282+
echo "${GREEN}${BOLD}$2${RESET}"
276283
fi
277284
}
278285

0 commit comments

Comments
 (0)