From 253eece48e23a1b6737753f2a8b719aded0586d5 Mon Sep 17 00:00:00 2001 From: Carlos Natalino <carlos.natalino@chalmers.se> Date: Thu, 29 Sep 2022 13:14:03 +0200 Subject: [PATCH] Fixing tests of the opticalattackmitigator. --- .gitignore | 12 ++++-------- pyproject.toml | 11 +++++++++++ src/dbscanserving/Config.py | 2 -- src/dbscanserving/service/DbscanService.py | 7 ++++--- src/dbscanserving/service/__main__.py | 7 ++++--- src/dbscanserving/tests/test_unitary.py | 6 ++---- .../tests/test_unitary.py | 18 +++++++++++++----- 7 files changed, 38 insertions(+), 25 deletions(-) create mode 100644 pyproject.toml diff --git a/.gitignore b/.gitignore index 53f8e6728..3e79c7c63 100644 --- a/.gitignore +++ b/.gitignore @@ -6,9 +6,6 @@ __pycache__/ # C extensions *.so -# workspace configurations -pyproject.toml - # Distribution / packaging .Python build/ @@ -56,6 +53,7 @@ coverage.xml .pytest_cache/ .benchmarks/ cover/ +*_report.xml # Translations *.mo @@ -133,6 +131,9 @@ venv.bak/ # VSCode project settings .vscode/ +# Visual Studio project settings +/.vs + # Rope project settings .ropeproject @@ -161,11 +162,6 @@ cython_debug/ # TeraFlowSDN-generated files tfs_runtime_env_vars.sh - -# Coverage report files -*_report.xml delete_local_deployment.sh local_docker_deployment.sh local_k8s_deployment.sh -/src/common/proto/.gitkeep -/src/common/proto/__init__.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..b5c1b7dcb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,11 @@ +# file containing the configuration for several tools used +# THIS FILE MUST NOT BE CHANGED + +[tool.black] +line-length = 88 + +[tool.isort] +profile = "black" +line_length = 88 +src_paths = "." +skip_gitignore = true \ No newline at end of file diff --git a/src/dbscanserving/Config.py b/src/dbscanserving/Config.py index 372416fad..5e462dac1 100644 --- a/src/dbscanserving/Config.py +++ b/src/dbscanserving/Config.py @@ -19,8 +19,6 @@ LOG_LEVEL = logging.DEBUG # gRPC settings GRPC_SERVICE_PORT = 10008 -GRPC_MAX_WORKERS = 10 -GRPC_GRACE_PERIOD = 60 # Prometheus settings METRICS_PORT = 9192 diff --git a/src/dbscanserving/service/DbscanService.py b/src/dbscanserving/service/DbscanService.py index f91d4f8c5..fd8ae1ffe 100644 --- a/src/dbscanserving/service/DbscanService.py +++ b/src/dbscanserving/service/DbscanService.py @@ -16,8 +16,9 @@ import logging from concurrent import futures import grpc +from common.Constants import DEFAULT_GRPC_GRACE_PERIOD, DEFAULT_GRPC_MAX_WORKERS from common.proto.dbscanserving_pb2_grpc import add_DetectorServicer_to_server -from dbscanserving.Config import GRPC_GRACE_PERIOD, GRPC_MAX_WORKERS, GRPC_SERVICE_PORT +from dbscanserving.Config import GRPC_SERVICE_PORT from dbscanserving.service.DbscanServiceServicerImpl import DbscanServiceServicerImpl from grpc_health.v1.health import OVERALL_HEALTH, HealthServicer from grpc_health.v1.health_pb2 import HealthCheckResponse @@ -32,8 +33,8 @@ class DbscanService: self, address=BIND_ADDRESS, port=GRPC_SERVICE_PORT, - max_workers=GRPC_MAX_WORKERS, - grace_period=GRPC_GRACE_PERIOD, + grace_period=DEFAULT_GRPC_GRACE_PERIOD, + max_workers=DEFAULT_GRPC_MAX_WORKERS, ): self.address = address diff --git a/src/dbscanserving/service/__main__.py b/src/dbscanserving/service/__main__.py index b5ef26922..f50975ef0 100644 --- a/src/dbscanserving/service/__main__.py +++ b/src/dbscanserving/service/__main__.py @@ -17,8 +17,9 @@ import signal import sys import threading +from common.Constants import DEFAULT_GRPC_GRACE_PERIOD, DEFAULT_GRPC_MAX_WORKERS from common.Settings import get_log_level, get_metrics_port, get_setting -from dbscanserving.Config import GRPC_GRACE_PERIOD, GRPC_MAX_WORKERS, GRPC_SERVICE_PORT +from dbscanserving.Config import GRPC_SERVICE_PORT from dbscanserving.service.DbscanService import DbscanService from prometheus_client import start_http_server @@ -41,8 +42,8 @@ def main(): service_port = get_setting( "DBSCANSERVICE_SERVICE_PORT_GRPC", default=GRPC_SERVICE_PORT ) - max_workers = get_setting("MAX_WORKERS", default=GRPC_MAX_WORKERS) - grace_period = get_setting("GRACE_PERIOD", default=GRPC_GRACE_PERIOD) + grace_period = get_setting("GRACE_PERIOD", default=DEFAULT_GRPC_GRACE_PERIOD) + max_workers = get_setting("MAX_WORKERS", default=DEFAULT_GRPC_MAX_WORKERS) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) diff --git a/src/dbscanserving/tests/test_unitary.py b/src/dbscanserving/tests/test_unitary.py index 9de9b9c91..7285b1305 100644 --- a/src/dbscanserving/tests/test_unitary.py +++ b/src/dbscanserving/tests/test_unitary.py @@ -20,7 +20,7 @@ from unittest.mock import patch import pytest from common.proto.dbscanserving_pb2 import DetectionRequest, DetectionResponse, Sample from dbscanserving.client.DbscanServingClient import DbscanServingClient -from dbscanserving.Config import GRPC_GRACE_PERIOD, GRPC_MAX_WORKERS, GRPC_SERVICE_PORT +from dbscanserving.Config import GRPC_SERVICE_PORT from dbscanserving.service.DbscanService import DbscanService port = 10000 + GRPC_SERVICE_PORT # avoid privileged ports @@ -31,9 +31,7 @@ LOGGER.setLevel(logging.DEBUG) @pytest.fixture(scope="session") def dbscanserving_service(): - _service = DbscanService( - port=port, max_workers=GRPC_MAX_WORKERS, grace_period=GRPC_GRACE_PERIOD - ) + _service = DbscanService(port=port) _service.start() yield _service _service.stop() diff --git a/src/opticalattackmitigator/tests/test_unitary.py b/src/opticalattackmitigator/tests/test_unitary.py index 97b2cd10a..75473de09 100644 --- a/src/opticalattackmitigator/tests/test_unitary.py +++ b/src/opticalattackmitigator/tests/test_unitary.py @@ -13,6 +13,8 @@ # limitations under the License. import logging +import os +from unittest.mock import patch import pytest from common.proto.optical_attack_mitigator_pb2 import AttackDescription, AttackResponse @@ -20,8 +22,6 @@ from opticalattackmitigator.client.OpticalAttackMitigatorClient import ( OpticalAttackMitigatorClient, ) from opticalattackmitigator.Config import ( - GRPC_GRACE_PERIOD, - GRPC_MAX_WORKERS, GRPC_SERVICE_PORT, ) from opticalattackmitigator.service.OpticalAttackMitigatorService import ( @@ -37,7 +37,7 @@ LOGGER.setLevel(logging.DEBUG) @pytest.fixture(scope="session") def optical_attack_mitigator_service(): _service = OpticalAttackMitigatorService( - port=port, max_workers=GRPC_MAX_WORKERS, grace_period=GRPC_GRACE_PERIOD + port=port ) _service.start() yield _service @@ -46,8 +46,16 @@ def optical_attack_mitigator_service(): @pytest.fixture(scope="session") def optical_attack_mitigator_client(optical_attack_mitigator_service): - _client = OpticalAttackMitigatorClient(address="127.0.0.1", port=port) - yield _client + with patch.dict( + os.environ, + { + "OPTICALATTACKMITIGATORSERVICE_SERVICE_HOST": "127.0.0.1", + "OPTICALATTACKMITIGATORSERVICE_SERVICE_PORT_GRPC": str(port), + }, + clear=True, + ): + _client = OpticalAttackMitigatorClient() + yield _client _client.close() -- GitLab