Loading src/context/.gitlab-ci.yml +24 −6 Original line number Diff line number Diff line Loading @@ -49,22 +49,40 @@ unit test context: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - if docker container ls | grep redis; then docker rm -f redis; else echo "redis image is not in the system"; fi - if docker container ls | grep crdb; then docker rm -f crdb; else echo "CockroachDB container is not in the system"; fi - if docker volume ls | grep crdb; then docker volume rm -f crdb; else echo "CockroachDB volume is not in the system"; fi - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker pull "redis:6.2" - docker run --name redis -d --network=teraflowbridge redis:6.2 - docker pull "cockroachdb/cockroach:latest-v22.2" - docker volume create crdb - > docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 --volume "crdb:/cockroach/cockroach-data" --volume "~/init-scripts:/docker-entrypoint-initdb.d" cockroachdb/cockroach:latest-v22.2 start-single-node - sleep 10 - docker run --name $IMAGE_NAME -d -p 1010:1010 --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - > docker run --name $IMAGE_NAME -d -p 1010:1010 --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - > docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/*.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker rm -f $IMAGE_NAME - docker rm -f redis - docker rm -f crdb - docker volume rm -f crdb - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading src/context/service/__main__.py +4 −4 Original line number Diff line number Diff line Loading @@ -17,10 +17,9 @@ from prometheus_client import start_http_server from common.Settings import get_log_level, get_metrics_port from common.message_broker.Factory import get_messagebroker_backend from common.message_broker.MessageBroker import MessageBroker from sqlalchemy.orm import sessionmaker from .database import rebuild_database from .ContextService import ContextService from .Engine import Engine from .database.Engine import Engine from .database.models._Base import rebuild_database LOG_LEVEL = get_log_level() logging.basicConfig(level=LOG_LEVEL, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") Loading @@ -46,7 +45,8 @@ def main(): start_http_server(metrics_port) db_engine = Engine.get_engine() rebuild_database(db_engine, drop_if_exists=False) Engine.create_database(db_engine) rebuild_database(db_engine) # Get message broker instance messagebroker = MessageBroker(get_messagebroker_backend()) Loading src/context/service/Engine.py→src/context/service/database/Engine.py +0 −0 File moved. View file src/context/tests/conftest.py +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ from common.message_broker.Factory import get_messagebroker_backend, BackendEnum from common.message_broker.MessageBroker import MessageBroker from context.client.ContextClient import ContextClient from context.service.ContextService import ContextService from context.service.Engine import Engine from context.service.database.Engine import Engine from context.service.database.models._Base import rebuild_database LOCAL_HOST = '127.0.0.1' Loading Loading
src/context/.gitlab-ci.yml +24 −6 Original line number Diff line number Diff line Loading @@ -49,22 +49,40 @@ unit test context: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - if docker container ls | grep redis; then docker rm -f redis; else echo "redis image is not in the system"; fi - if docker container ls | grep crdb; then docker rm -f crdb; else echo "CockroachDB container is not in the system"; fi - if docker volume ls | grep crdb; then docker volume rm -f crdb; else echo "CockroachDB volume is not in the system"; fi - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker pull "redis:6.2" - docker run --name redis -d --network=teraflowbridge redis:6.2 - docker pull "cockroachdb/cockroach:latest-v22.2" - docker volume create crdb - > docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 --volume "crdb:/cockroach/cockroach-data" --volume "~/init-scripts:/docker-entrypoint-initdb.d" cockroachdb/cockroach:latest-v22.2 start-single-node - sleep 10 - docker run --name $IMAGE_NAME -d -p 1010:1010 --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - > docker run --name $IMAGE_NAME -d -p 1010:1010 --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - > docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/*.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker rm -f $IMAGE_NAME - docker rm -f redis - docker rm -f crdb - docker volume rm -f crdb - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading
src/context/service/__main__.py +4 −4 Original line number Diff line number Diff line Loading @@ -17,10 +17,9 @@ from prometheus_client import start_http_server from common.Settings import get_log_level, get_metrics_port from common.message_broker.Factory import get_messagebroker_backend from common.message_broker.MessageBroker import MessageBroker from sqlalchemy.orm import sessionmaker from .database import rebuild_database from .ContextService import ContextService from .Engine import Engine from .database.Engine import Engine from .database.models._Base import rebuild_database LOG_LEVEL = get_log_level() logging.basicConfig(level=LOG_LEVEL, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") Loading @@ -46,7 +45,8 @@ def main(): start_http_server(metrics_port) db_engine = Engine.get_engine() rebuild_database(db_engine, drop_if_exists=False) Engine.create_database(db_engine) rebuild_database(db_engine) # Get message broker instance messagebroker = MessageBroker(get_messagebroker_backend()) Loading
src/context/tests/conftest.py +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ from common.message_broker.Factory import get_messagebroker_backend, BackendEnum from common.message_broker.MessageBroker import MessageBroker from context.client.ContextClient import ContextClient from context.service.ContextService import ContextService from context.service.Engine import Engine from context.service.database.Engine import Engine from context.service.database.models._Base import rebuild_database LOCAL_HOST = '127.0.0.1' Loading