11import unittest
2- from unittest .mock import patch , MagicMock
2+ from unittest .mock import patch , MagicMock , ANY
33from src .osw_validator import OSWValidator
44from src .models .queue_message_content import Upload
55from src .models .queue_message_content import ValidationResult
@@ -16,6 +16,7 @@ def setUp(self, mock_core, mock_settings, mock_thread):
1616 mock_settings .return_value .event_bus .upload_topic = 'test_request_topic'
1717 mock_settings .return_value .event_bus .validation_topic = 'test_response_topic'
1818 mock_settings .return_value .max_concurrent_messages = 10
19+ mock_settings .return_value .max_receivable_messages = - 1
1920 mock_settings .return_value .get_download_directory .return_value = '/tmp'
2021 mock_settings .return_value .event_bus .container_name = 'test_container'
2122
@@ -63,6 +64,18 @@ def test_subscribe_with_valid_message(self, mock_upload, mock_queue_message):
6364 # Assert
6465 self .service .validate .assert_called_once_with (received_message = mock_upload_message )
6566
67+ def test_start_listening_stops_container_after_subscribe_returns (self ):
68+ self .service ._settings .max_receivable_messages = 1
69+
70+ self .service .start_listening ()
71+
72+ self .service .listening_topic .subscribe .assert_called_once_with (
73+ subscription = self .service .subscription_name ,
74+ callback = ANY ,
75+ max_receivable_messages = 1 ,
76+ )
77+ self .service ._stop_server_and_container .assert_called_once_with (delay_seconds = 2 )
78+
6679 @patch ('src.osw_validator.Validation' )
6780 def test_validate_with_valid_file_path (self , mock_validation ):
6881 # Arrange
0 commit comments