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")