@@ -32,7 +32,8 @@ wait_for_ready() {
3232 echo " Container failed to start" ; exit 1
3333}
3434
35- wait_for_removed () {
35+ stop_and_remove () {
36+ docker stop http-echo-tests 2> /dev/null || true
3637 for i in {1..20}; do
3738 if ! docker ps -aq --filter " name=http-echo-tests" | grep -q . ; then
3839 return 0
@@ -76,7 +77,7 @@ pushd testarea
7677
7778message " Cleaning up from previous test run "
7879docker rm -f http-echo-tests 2> /dev/null || true
79- wait_for_removed
80+ stop_and_remove
8081
8182message " Start container normally "
8283docker run -d --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
203204fi
204205
205206message " Stop containers "
206- docker stop http-echo-tests
207- wait_for_removed
207+ stop_and_remove
208208
209209message " Start container with max header size "
210210docker run -d --rm -e MAX_HEADER_SIZE=1000 --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
235235fi
236236
237237message " Stop containers "
238- docker stop http-echo-tests
239- wait_for_removed
238+ stop_and_remove
240239
241240message " Start container with different internal ports "
242241docker run -d --rm -e HTTP_PORT=8888 -e HTTPS_PORT=9999 --name http-echo-tests -p 8080:8888 -p 8443:9999 -t mendhak/http-https-echo:testing
267266
268267
269268message " Stop containers "
270- docker stop http-echo-tests
271- wait_for_removed
269+ stop_and_remove
272270
273271message " Start container with empty responses "
274272docker run -d --rm -e ECHO_BACK_TO_CLIENT=false --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
285283fi
286284
287285message " Stop containers "
288- docker stop http-echo-tests
289- wait_for_removed
286+ stop_and_remove
290287
291288message " Start container with response body only "
292289docker run -d --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
302299
303300
304301message " Stop containers "
305- docker stop http-echo-tests
306- wait_for_removed
302+ stop_and_remove
307303
308304message " Start container with JWT_HEADER "
309305docker run -d --rm -e JWT_HEADER=Authentication --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
321317fi
322318
323319message " Stop containers "
324- docker stop http-echo-tests
325- wait_for_removed
320+ stop_and_remove
326321
327322
328323message " Start container with LOG_IGNORE_PATH (normal path)"
343338fi
344339
345340message " Stop containers "
346- docker stop http-echo-tests
347- wait_for_removed
341+ stop_and_remove
348342
349343message " Start container with LOG_IGNORE_PATH (regex path)"
350344docker run -d --rm -e LOG_IGNORE_PATH=" ^\/ping|^\/health|^\/metrics" --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
377371
378372
379373message " Stop containers "
380- docker stop http-echo-tests
381- wait_for_removed
374+ stop_and_remove
382375
383376message " Start container with LOG_IGNORE_PATH (ignore all paths) "
384377docker run -d --rm -e LOG_IGNORE_PATH=" .*" --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
398391fi
399392
400393message " Stop containers "
401- docker stop http-echo-tests
402- wait_for_removed
394+ stop_and_remove
403395
404396
405397message " Start container with DISABLE_REQUEST_LOGS "
417409fi
418410
419411message " Stop containers "
420- docker stop http-echo-tests
421- wait_for_removed
412+ stop_and_remove
422413
423414message " Start container with CORS_CONFIG"
424415docker run -d --rm \
439430fi
440431
441432message " Stop containers "
442- docker stop http-echo-tests
443- wait_for_removed
433+ stop_and_remove
444434
445435message " Start container with LOG_WITHOUT_NEWLINE "
446436docker run -d --rm -e LOG_WITHOUT_NEWLINE=1 --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
461451
462452
463453message " Stop containers "
464- docker stop http-echo-tests
465- wait_for_removed
454+ stop_and_remove
466455
467456message " Check that container is running as a NON ROOT USER by default"
468457docker run -d --name http-echo-tests --rm mendhak/http-https-echo:testing
478467fi
479468
480469message " Stop containers "
481- docker stop http-echo-tests
482- wait_for_removed
470+ stop_and_remove
483471
484472message " Check that container is running as user different that the user defined in image"
485473IMAGE_USER=" $( docker image inspect mendhak/http-https-echo:testing -f ' {{ .Config.User }}' ) "
500488fi
501489
502490message " Stop containers "
503- docker stop http-echo-tests
504- wait_for_removed
491+ stop_and_remove
505492
506493message " Check that mTLS server responds with client certificate details"
507494# Generate a new self signed cert locally
542529fi
543530
544531message " Stop containers "
545- docker stop http-echo-tests
546- wait_for_removed
532+ stop_and_remove
547533
548534message " Check that SSL certificate and private key are loaded from custom location"
549535cert_common_name=" server.example.net"
576562fi
577563
578564message " Stop containers "
579- docker stop http-echo-tests
580- wait_for_removed
565+ stop_and_remove
581566
582567message " Check that environment variables returned in response if enabled"
583568docker run -d --rm -e ECHO_INCLUDE_ENV_VARS=1 --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
594579fi
595580
596581message " Stop containers "
597- docker stop http-echo-tests
598- wait_for_removed
582+ stop_and_remove
599583
600584message " Check that environment variables are not present in response by default"
601585docker run -d --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
612596fi
613597
614598message " Stop containers "
615- docker stop http-echo-tests
616- wait_for_removed
599+ stop_and_remove
617600
618601message " Start container with PROMETHEUS disabled "
619602docker run -d --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
634617fi
635618
636619message " Stop containers "
637- docker stop http-echo-tests
638- wait_for_removed
620+ stop_and_remove
639621
640622message " Start container with PROMETHEUS enabled "
641623docker run -d -e PROMETHEUS_ENABLED=true --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
655637
656638
657639message " Stop containers "
658- docker stop http-echo-tests
659- wait_for_removed
640+ stop_and_remove
660641
661642message " Start container with PRESERVE_HEADER_CASE enabled "
662643docker run -d -e PRESERVE_HEADER_CASE=true --rm --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:testing
672653fi
673654
674655message " Stop containers "
675- docker stop http-echo-tests
676- wait_for_removed
656+ stop_and_remove
677657
678658message " Start container with a custom response body from a file "
679659echo " <h1>Hello World</h1>" > test.html
690670fi
691671
692672message " Stop containers "
693- docker stop http-echo-tests
694- wait_for_removed
673+ stop_and_remove
695674
696675message " Start container with signed cookies support "
697676# Set cookie secret for signing/verifying cookies
722701fi
723702
724703message " Stop containers "
725- docker stop http-echo-tests
726- wait_for_removed
704+ stop_and_remove
727705
728706
729707message " Check that regular cookies are returned in response "
742720fi
743721
744722message " Stop containers "
745- docker stop http-echo-tests
746- wait_for_removed
723+ stop_and_remove
747724
748725message " DONE"
0 commit comments