diff --git a/src/opticalattackdetector/.gitlab-ci.yml b/src/opticalattackdetector/.gitlab-ci.yml
index 6d9d0313c2a7e98175b51d628a72d85cb4d7de5e..917ce53ba8cdfc165a1854c67d07a5b1e62a572f 100644
--- a/src/opticalattackdetector/.gitlab-ci.yml
+++ b/src/opticalattackdetector/.gitlab-ci.yml
@@ -54,7 +54,7 @@ unit_test opticalattackdetector:
   script:
     - export REDIS_PASSWORD=$(uuidgen)
     - docker pull "redis:7.0-alpine"
-    - docker run --name redis -d --network=teraflowbridge -p 6379:6379 -e REDIS_PASSWORD=${REDIS_PASSWORD} --rm redis:7.0-alpine redis-server --requirepass ${REDIS_PASSWORD}
+    - docker run --name redis -d --network=teraflowbridge -p 16379:6379 -e REDIS_PASSWORD=${REDIS_PASSWORD} --rm redis:7.0-alpine redis-server --requirepass ${REDIS_PASSWORD}
     - docker logs redis
     - REDIS_ADDRESS=$(docker inspect redis --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - docker pull "$CI_REGISTRY_IMAGE/dbscanserving:$IMAGE_TAG"
diff --git a/src/opticalattackdetector/tests/test_unitary.py b/src/opticalattackdetector/tests/test_unitary.py
index 90af220753da442f2f9a026eeaed88f3fb77a23f..586a724dfaf8eb1ae09fa7da83cbdae0d5fc68e8 100644
--- a/src/opticalattackdetector/tests/test_unitary.py
+++ b/src/opticalattackdetector/tests/test_unitary.py
@@ -13,13 +13,15 @@
 # limitations under the License.
 
 import logging
-import os
+import uuid
+import queue
 from unittest.mock import patch
 
 import pytest
 
 from common.proto import dbscanserving_pb2 as dbscan
 from common.proto.optical_attack_detector_pb2 import DetectionRequest
+from common.tests.MockServicerImpl_Monitoring import MockServicerImpl_Monitoring
 
 from opticalattackdetector.client.OpticalAttackDetectorClient import \
     OpticalAttackDetectorClient
@@ -48,25 +50,30 @@ def optical_attack_detector_client(optical_attack_detector_service):
 
 
 def test_detect_attack(
+    optical_attack_detector_service: OpticalAttackDetectorService,
     optical_attack_detector_client: OpticalAttackDetectorClient,
 ):
     message = dbscan.DetectionResponse()
     message.cluster_indices.extend([0, 1, -1, -1, -1])
+
+    monitoring_mock = MockServicerImpl_Monitoring(queue_samples = queue.Queue())
     with patch(
         "opticalattackdetector.service.OpticalAttackDetectorServiceServicerImpl.attack_mitigator_client"
     ) as mitigator, patch(
-        "opticalattackdetector.service.OpticalAttackDetectorServiceServicerImpl.monitoring_client"
+        "opticalattackdetector.service.OpticalAttackDetectorServiceServicerImpl.monitoring_client",
+        monitoring_mock,
     ) as monitoring, patch(
         "opticalattackdetector.service.OpticalAttackDetectorServiceServicerImpl.dbscanserving_client.Detect",
         # TODO: return dumb object with "cluster_indices" attribute
         # idea: create new response object
         return_value=message,
     ) as dbscanserving:
-        request: DetectionRequest = DetectionRequest()
-        request.service_id.context_id.context_uuid.uuid = ""
-        request.service_id.service_uuid.uuid = str("")
-        request.kpi_id.kpi_id.uuid = ""
-        optical_attack_detector_client.DetectAttack(request)
-        mitigator.NotifyAttack.assert_called_once()
-        monitoring.IncludeKpi.assert_called_once()
-        dbscanserving.assert_called_once()
+        for _ in range(10):
+            request: DetectionRequest = DetectionRequest()
+            request.service_id.context_id.context_uuid.uuid = str(uuid.uuid4())
+            request.service_id.service_uuid.uuid = str(uuid.uuid4())
+            request.kpi_id.kpi_id.uuid = "1"
+            optical_attack_detector_client.DetectAttack(request)
+            dbscanserving.assert_called_once()
+            monitoring.IncludeKpi.assert_called_once()
+        mitigator.NotifyAttack.assert_called()
diff --git a/src/opticalattackmanager/utils/monitor.py b/src/opticalattackmanager/utils/monitor.py
index c34ac217c0d29b086101e7fafc7d6cefef1fa114..9889c0caf61129c30bc3f1681dceda1e1a4adfad 100644
--- a/src/opticalattackmanager/utils/monitor.py
+++ b/src/opticalattackmanager/utils/monitor.py
@@ -17,7 +17,6 @@ import logging
 import traceback
 
 from grpclib.client import Channel
-from prometheus_client import Counter
 
 from common.proto.asyncio.optical_attack_detector_grpc import \
     OpticalAttackDetectorServiceStub
diff --git a/src/tests/scenario3/optical/ofc23/run_experiment_demo.py b/src/tests/scenario3/optical/ofc23/run_experiment_demo.py
index 16ddb9c315784c39258aaf0f342ebd8da35b17e8..2f09f8d5aba38c865a20a2e57d22630d380a2b1b 100644
--- a/src/tests/scenario3/optical/ofc23/run_experiment_demo.py
+++ b/src/tests/scenario3/optical/ofc23/run_experiment_demo.py
@@ -21,8 +21,7 @@ import threading
 import redis
 from kubernetes import client, config
 
-from common.Constants import ServiceNameEnum
-from common.Settings import get_service_host, get_setting, wait_for_environment_variables
+from common.Settings import get_setting, wait_for_environment_variables
 
 # Configs can be set in Configuration class directly or using helper utility
 namespace = get_setting("TFS_K8S_NAMESPACE", default="tfs")