diff --git a/Dockerfile b/Dockerfile index 97ff497..a54825b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,4 +21,7 @@ RUN pip install -r requirements.txt # Make the script_dockerfile.sh script executable and run it COPY script_dockerfile.sh /app/script_dockerfile.sh RUN chmod +x /app/script_dockerfile.sh -ENTRYPOINT ["/app/script_dockerfile.sh"] \ No newline at end of file +ENTRYPOINT ["/app/script_dockerfile.sh"] + + + diff --git a/script_dockerfile.sh b/script_dockerfile.sh index 0b05ee1..862b3ee 100644 --- a/script_dockerfile.sh +++ b/script_dockerfile.sh @@ -1,23 +1,36 @@ #!/bin/bash set -e -# Create Docker volumes if not exist -if [ "$(docker volume ls -q -f name=neo4j_data)" == "" ]; then - docker volume create neo4j_data -fi +# Function for cleanup +cleanup() { + echo "Clean up container, volumes and network" + docker stop web || true + docker stop db || true + docker rm web || true + docker rm db || true + docker volume rm neo4j_data || true + docker volume rm neo4j_logs || true + docker volume rm yprov_data || true + docker network disconnect yprov_net "$CONTAINER_ID" || true + docker network rm yprov_net || true +} -if [ "$(docker volume ls -q -f name=neo4j_logs)" == "" ]; then - docker volume create neo4j_logs -fi +# Set trap to execute cleanup on exit +trap cleanup EXIT -if [ "$(docker volume ls -q -f name=yprov_data)" == "" ]; then - docker volume create yprov_data -fi -# Create Docker network if not exist -if [ "$(docker network ls -q -f name=yprov_net)" == "" ]; then - docker network create yprov_net +# Create Docker volumes if not exist +for volume in neo4j_data neo4j_logs yprov_data; do + if [ "$(docker volume ls -q -f name=$volume)" == "" ]; then + docker volume create $volume + fi +done + +# Remove and recreate Docker network if it exists +if [ "$(docker network ls -q -f name=yprov_net)" != "" ]; then + docker network rm yprov_net fi +docker network create yprov_net # Run Neo4j (db) container docker run \ @@ -78,7 +91,14 @@ for i in {1..15}; do done cd /app/SQAaaS -echo "Read to perform tests" -# Keep the container running -tail -f /dev/null + +echo "Ready to perform tests" +python3 -m pytest -v + + + + + + +