Loading scripts/run_tests_locally-nbi-all.sh +70 −13 Original line number Diff line number Diff line Loading @@ -14,22 +14,79 @@ # limitations under the License. PROJECTDIR=`pwd` docker ps -aq | xargs -r docker rm -f docker network rm teraflowbridge || true docker container prune -f cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc docker pull "bitnami/kafka:latest" docker buildx build -t "mock_tfs_nbi_dependencies:test" -f ./src/tests/tools/mock_tfs_nbi_dependencies/Dockerfile . docker buildx build -t "nbi:latest" -f ./src/nbi/Dockerfile . docker images --filter="dangling=true" --quiet | xargs -r docker rmi # Run unitary tests and analyze coverage of code at same time # helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0 docker network create -d bridge teraflowbridge docker run --name kafka -d --network=teraflowbridge -p 9092:9092 -p 9093:9093 \ --env KAFKA_CFG_NODE_ID=1 \ --env KAFKA_CFG_PROCESS_ROLES=controller,broker \ --env KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \ --env KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \ --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \ --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093 \ bitnami/kafka:latest echo "Waiting for Kafka to be ready..." while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do printf "." sleep 1; done printf "\n" sleep 5 # Give extra time to Kafka to get stabilized docker inspect kafka --format "{{.NetworkSettings.Networks}}" KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") echo "Kafka IP: $KAFKA_IP" coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_etsi_bwm.py docker run --name mock_tfs_nbi_dependencies -d -p 10000:10000 \ --network=teraflowbridge \ --env BIND_ADDRESS=0.0.0.0 \ --env BIND_PORT=10000 \ --env LOG_LEVEL=INFO \ mock_tfs_nbi_dependencies:test coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_l2vpn.py docker run --name nbi -d \ --network=teraflowbridge \ --env LOG_LEVEL=INFO \ --env FLASK_ENV=development \ --env IETF_NETWORK_RENDERER=LIBYANG \ --env "KFK_SERVER_ADDRESS=${KAFKA_IP}:9092" \ nbi:latest while ! docker logs nbi 2>&1 | grep -q 'Initialization completed'; do printf "." sleep 1; done printf "\n" sleep 5 # Give extra time to NBI to get ready docker ps -a docker logs kafka docker logs mock_tfs_nbi_dependencies docker logs nbi # helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0 docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_core.py --junitxml=/opt/results/${IMAGE_NAME}_report_core.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_tfs_api.py --junitxml=/opt/results/${IMAGE_NAME}_report_tfs_api.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_l2vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l2vpn.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_network.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_network.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_l3vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l3vpn.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_etsi_bwm.py --junitxml=/opt/results/${IMAGE_NAME}_report_etsi_bwm.xml" docker exec -i nbi bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_l3vpn.py #docker logs mock_tfs_nbi_dependencies #docker logs nbi #docker logs kafka docker rm -f mock_tfs_nbi_dependencies nbi docker rm -f kafka docker network rm teraflowbridge coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_network.py echo "Bye!" Loading
scripts/run_tests_locally-nbi-all.sh +70 −13 Original line number Diff line number Diff line Loading @@ -14,22 +14,79 @@ # limitations under the License. PROJECTDIR=`pwd` docker ps -aq | xargs -r docker rm -f docker network rm teraflowbridge || true docker container prune -f cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc docker pull "bitnami/kafka:latest" docker buildx build -t "mock_tfs_nbi_dependencies:test" -f ./src/tests/tools/mock_tfs_nbi_dependencies/Dockerfile . docker buildx build -t "nbi:latest" -f ./src/nbi/Dockerfile . docker images --filter="dangling=true" --quiet | xargs -r docker rmi # Run unitary tests and analyze coverage of code at same time # helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0 docker network create -d bridge teraflowbridge docker run --name kafka -d --network=teraflowbridge -p 9092:9092 -p 9093:9093 \ --env KAFKA_CFG_NODE_ID=1 \ --env KAFKA_CFG_PROCESS_ROLES=controller,broker \ --env KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \ --env KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \ --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \ --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093 \ bitnami/kafka:latest echo "Waiting for Kafka to be ready..." while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do printf "." sleep 1; done printf "\n" sleep 5 # Give extra time to Kafka to get stabilized docker inspect kafka --format "{{.NetworkSettings.Networks}}" KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") echo "Kafka IP: $KAFKA_IP" coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_etsi_bwm.py docker run --name mock_tfs_nbi_dependencies -d -p 10000:10000 \ --network=teraflowbridge \ --env BIND_ADDRESS=0.0.0.0 \ --env BIND_PORT=10000 \ --env LOG_LEVEL=INFO \ mock_tfs_nbi_dependencies:test coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_l2vpn.py docker run --name nbi -d \ --network=teraflowbridge \ --env LOG_LEVEL=INFO \ --env FLASK_ENV=development \ --env IETF_NETWORK_RENDERER=LIBYANG \ --env "KFK_SERVER_ADDRESS=${KAFKA_IP}:9092" \ nbi:latest while ! docker logs nbi 2>&1 | grep -q 'Initialization completed'; do printf "." sleep 1; done printf "\n" sleep 5 # Give extra time to NBI to get ready docker ps -a docker logs kafka docker logs mock_tfs_nbi_dependencies docker logs nbi # helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0 docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_core.py --junitxml=/opt/results/${IMAGE_NAME}_report_core.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_tfs_api.py --junitxml=/opt/results/${IMAGE_NAME}_report_tfs_api.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_l2vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l2vpn.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_network.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_network.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_ietf_l3vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l3vpn.xml" docker exec -i nbi bash -c "coverage run --append -m pytest --log-level=INFO --verbose nbi/tests/test_etsi_bwm.py --junitxml=/opt/results/${IMAGE_NAME}_report_etsi_bwm.xml" docker exec -i nbi bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_l3vpn.py #docker logs mock_tfs_nbi_dependencies #docker logs nbi #docker logs kafka docker rm -f mock_tfs_nbi_dependencies nbi docker rm -f kafka docker network rm teraflowbridge coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ nbi/tests/test_ietf_network.py echo "Bye!"