2323from vulnerabilities .models import Alias
2424from vulnerabilities .models import ApiUser
2525from vulnerabilities .models import CodeFixV2
26+ from vulnerabilities .models import LivePipelineRun
2627from vulnerabilities .models import Package
2728from vulnerabilities .models import PackageV2
2829from vulnerabilities .models import PipelineRun
@@ -911,12 +912,27 @@ def setUp(self):
911912 self .url = "/api/v2/live-evaluation/evaluate"
912913
913914 @patch ("vulnerabilities.api_v2.LIVE_IMPORTERS_REGISTRY" )
914- def test_evaluate_success (self , mock_registry ):
915+ @patch ("vulnerabilities.api_v2.enqueue_ad_hoc_pipeline" )
916+ @patch ("vulnerabilities.models.PipelineRun.objects.get" )
917+ @patch ("vulnerabilities.models.LivePipelineRun.objects.create" )
918+ def test_evaluate_success (
919+ self , mock_live_create , mock_pipeline_get , mock_enqueue , mock_registry
920+ ):
915921 class MockImporter :
916922 pipeline_id = "pypa_live_importer_v2"
917923 supported_types = ["pypi" ]
918924
919925 mock_registry .values .return_value = [MockImporter ]
926+ mock_live_run = type ("MockLiveRun" , (), {"run_id" : "mock-live-id" })()
927+ mock_live_create .return_value = mock_live_run
928+ mock_enqueue .return_value = "mock-run-id"
929+ mock_pipeline_run = type (
930+ "MockPipelineRun" ,
931+ (),
932+ {"run_id" : "mock-run-id" , "live_pipeline" : None , "save" : lambda self : None },
933+ )()
934+ mock_pipeline_get .return_value = mock_pipeline_run
935+
920936 data = {"purl" : "pkg:pypi/django@3.2" }
921937 response = self .client .post (self .url , data , format = "json" )
922938 assert response .status_code == 202
@@ -943,7 +959,9 @@ def test_evaluate_invalid_purl(self):
943959 assert response .status_code == 400
944960 assert "Invalid PackageURL" in response .data ["error" ]
945961
946- def test_status_not_found (self ):
962+ @patch ("vulnerabilities.models.LivePipelineRun.objects.get" )
963+ def test_status_not_found (self , mock_live_get ):
964+ mock_live_get .side_effect = LivePipelineRun .DoesNotExist ()
947965 url = "/api/v2/live-evaluation/status/00000000-0000-0000-0000-000000000000"
948966 response = self .client .get (url )
949967 assert response .status_code == 404
0 commit comments