33
44from database .tests .factories import CommitFactory , PullFactory
55from database .tests .factories .core import UploadFactory
6- from services .processing .state import UploadNumbers
76from shared .reports .enums import UploadState
87from tasks .manual_trigger import ManualTriggerTask
98
@@ -18,14 +17,6 @@ def test_manual_upload_completion_trigger(
1817 mock_redis ,
1918 celery_app ,
2019 ):
21- # Mock ProcessingState to return no pending uploads in Redis
22- mock_processing_state = mocker .patch ("tasks.manual_trigger.ProcessingState" )
23- mock_state_instance = mocker .MagicMock ()
24- mock_state_instance .get_upload_numbers .return_value = UploadNumbers (
25- processing = 0 , processed = 0
26- )
27- mock_processing_state .return_value = mock_state_instance
28-
2920 mocked_app = mocker .patch .object (
3021 ManualTriggerTask ,
3122 "app" ,
@@ -87,14 +78,6 @@ def test_manual_upload_completion_trigger_uploads_still_processing(
8778 mock_redis ,
8879 celery_app ,
8980 ):
90- # Mock ProcessingState to return no pending uploads in Redis
91- mock_processing_state = mocker .patch ("tasks.manual_trigger.ProcessingState" )
92- mock_state_instance = mocker .MagicMock ()
93- mock_state_instance .get_upload_numbers .return_value = UploadNumbers (
94- processing = 0 , processed = 0
95- )
96- mock_processing_state .return_value = mock_state_instance
97-
9881 mocker .patch .object (
9982 ManualTriggerTask ,
10083 "app" ,
@@ -122,47 +105,3 @@ def test_manual_upload_completion_trigger_uploads_still_processing(
122105 "notifications_called" : False ,
123106 "message" : "Uploads are still in process and the task got retired so many times. Not triggering notifications." ,
124107 } == result
125-
126- def test_manual_upload_completion_trigger_redis_pending (
127- self ,
128- mocker ,
129- mock_configuration ,
130- dbsession ,
131- mock_storage ,
132- mock_redis ,
133- celery_app ,
134- ):
135- """Test that task retries when Redis shows pending uploads even if DB shows complete"""
136- # Mock ProcessingState to return pending uploads in Redis
137- mock_processing_state = mocker .patch ("tasks.manual_trigger.ProcessingState" )
138- mock_state_instance = mocker .MagicMock ()
139- mock_state_instance .get_upload_numbers .return_value = UploadNumbers (
140- processing = 1 ,
141- processed = 2 , # Redis shows 3 uploads still being processed/merged
142- )
143- mock_processing_state .return_value = mock_state_instance
144-
145- mocker .patch .object (
146- ManualTriggerTask ,
147- "app" ,
148- celery_app ,
149- )
150- commit = CommitFactory .create ()
151- # Upload is complete in DB
152- upload = UploadFactory .create (
153- report__commit = commit ,
154- state = "complete" ,
155- state_id = UploadState .PROCESSED .db_id ,
156- )
157- dbsession .add (commit )
158- dbsession .add (upload )
159- dbsession .flush ()
160-
161- # Should retry because Redis shows pending uploads
162- with pytest .raises (Retry ):
163- ManualTriggerTask ().run_impl (
164- dbsession ,
165- repoid = commit .repoid ,
166- commitid = commit .commitid ,
167- current_yaml = {},
168- )
0 commit comments