diff --git a/tests/clairscan.sh b/tests/clairscan.sh new file mode 100755 index 0000000..33fe130 --- /dev/null +++ b/tests/clairscan.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +if [ ! -s ./clair-scanner ]; then + curl -L -o ./clair-scanner https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64 + chmod 755 clair-scanner +fi + +docker ps | grep clair-db +if [ $? == "0" ]; then + docker kill db + docker rm db + docker run -p 5432:5432 -d --name db arminc/clair-db:latest +else + docker run -p 5432:5432 -d --name db arminc/clair-db:latest +fi +sleep 30 + +docker ps | grep clair-local-scan +if [ $? == "0" ]; then + docker kill clair + docker rm clair + docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.5 +else + docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.5 +fi +sleep 30 + +./clair-scanner --ip 172.17.0.1 $1 +retcode=$? + +docker kill clair +docker rm clair +docker kill db +docker rm db + +exit $retcode + diff --git a/tests/main.bats b/tests/main.bats index 411a763..c27f59c 100644 --- a/tests/main.bats +++ b/tests/main.bats @@ -47,33 +47,7 @@ load ../common } @test "070 There are no known security vulnerabilities" { - if [ ! -s ./clair-scanner ]; then - curl -L -o ./clair-scanner https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64 - chmod 755 clair-scanner - fi - run docker ps | grep db - if [ $status == "0" ]; then - docker kill db - docker rm db - docker run -p 5432:5432 -d --name db arminc/clair-db:latest - else - docker run -p 5432:5432 -d --name db arminc/clair-db:latest - fi - sleep 15 - run docker ps | grep clair - if [ $status == "0" ]; then - docker kill clair - docker rm clair - docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.5 - else - docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.5 - fi - sleep 30 - ./clair-scanner --ip 172.17.0.1 ${maintainer}/${imagename} - docker kill clair - docker rm clair - docker kill db - docker rm db + ./tests/clairscan.sh ${maintainer}/${imagename} }