diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 524227c83bc9f5799796d35d0e7d3b27ce624705..000319c05367950765b153b71a6568af570c3787 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -248,6 +248,14 @@ unit test notification:
         TEST_PREFIX2: "shared/workspaces/test/"
     extends: .unit-test
 
+unit test messaging:
+  interruptible: true
+  stage: unit-test
+  variables:
+    SERVICE_NAME: "messaging"
+    PATH_PREFIX: "shared/"
+  extends: .unit-test
+
 
 ###############################################
 # Create Coverage Report
diff --git a/ci/unit-test.template.yml b/ci/unit-test.template.yml
index 7701f14ae7469407921907274b19315a454da02b..78d6d3074e1fc13a375c34150de7e9cecf3d7cb7 100644
--- a/ci/unit-test.template.yml
+++ b/ci/unit-test.template.yml
@@ -5,10 +5,14 @@
         - cd ${PATH_PREFIX}${SERVICE_NAME}
         # use the poetry virtual environment and packages
         - poetry install --with test
-        - pwd
-        - $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report=
-        - $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report=
-        - $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml
+        - |
+          if [ -z "${PATH_PREFIX2+x}" ]; then
+            $(poetry env info -p)/bin/pytest . --junitxml=tests.xml --cov=${SERVICE_NAME} --cov-report=
+          else
+            $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report=
+            $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report=
+            $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml
+          fi
         - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}
         - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
     artifacts:
diff --git a/shared/messaging/test/test_get_archive_ingestion_message.py b/shared/messaging/test/test_get_archive_ingestion_message.py
index b2ba2c98794712f5d778045313eaf498ac7ba8a4..8e7e0bb9cec5332435311781e3351f10542a1596 100644
--- a/shared/messaging/test/test_get_archive_ingestion_message.py
+++ b/shared/messaging/test/test_get_archive_ingestion_message.py
@@ -25,7 +25,6 @@ from enum import Enum
 from pprint import pprint
 from typing import Dict
 
-import pytest
 from _pytest.capture import CaptureFixture
 from _pytest.logging import LogCaptureFixture
 from messaging.router import Router
diff --git a/shared/messaging/test/test_messenger.py b/shared/messaging/test/test_messenger.py
index daaf54904fee1a3689264d9dd36e269b50783b3f..681d0a46c5a5dab0e704683c9a69994e956cf31d 100644
--- a/shared/messaging/test/test_messenger.py
+++ b/shared/messaging/test/test_messenger.py
@@ -22,7 +22,6 @@ import logging
 import sys
 from unittest.mock import MagicMock, patch
 
-import pytest
 from kombu import Exchange, Queue
 from messaging.messenger import AMQPServerInitializer
 
diff --git a/shared/messaging/test/test_router.py b/shared/messaging/test/test_router.py
index 9769f8710d4c54cca54074e6b8bfc7860124d4c2..3c7ae846e544d57e1de6d5c614eca03f4f0749ad 100644
--- a/shared/messaging/test/test_router.py
+++ b/shared/messaging/test/test_router.py
@@ -27,37 +27,9 @@ from unittest.mock import MagicMock, patch
 
 import pytest
 from _pytest.capture import CaptureFixture
-from messaging.messenger import SenderIF
 from messaging.router import Router, on_message
 
-
-class MockMessageSender(SenderIF):
-    """Pretends to send a message"""
-
-    destination = None
-
-    def send_message(self, **message):
-        """
-        Don't send this message, but play it on TV
-
-        :param message: message to send as Dict
-        :return:
-        """
-        print(f"sending message: {message}")
-        self.destination.receive_message(json.dumps(message))
-
-
-@pytest.fixture(scope="module")
-def test_router() -> Router:
-    """
-    Pytest fixture providing a Router class for testing
-
-    :return: Test Router
-    """
-    messenger = MockMessageSender()
-    router = Router("test", messenger)
-    messenger.destination = router
-    return router
+from .conftest import test_router
 
 
 logger = logging.getLogger("router")