@@ -645,3 +645,51 @@ def test_advisory_insert_no_duplicate_content_id(self):
645645 date_collected = date ,
646646 created_by = "test_pipeline" ,
647647 )
648+
649+
650+ from unittest .mock import patch
651+
652+
653+ class TestPipelineRunModel (DjangoTestCase ):
654+ def setUp (self ):
655+ self .schedule1 = models .PipelineSchedule .objects .create (pipeline_id = "test_pipeline" )
656+ self .run1 = models .PipelineRun .objects .create (pipeline = self .schedule1 )
657+
658+ def test_pipelinerun_set_run_failed (self ):
659+ self .run1 .set_run_ended (exitcode = 1 , output = "some failure" )
660+ self .assertTrue (self .run1 .run_failed )
661+
662+ def test_pipelinerun_set_run_queued (self ):
663+ self .assertEqual (self .run1 .status , self .run1 .Status .QUEUED )
664+
665+ def test_pipelinerun_set_running (self ):
666+ self .run1 .set_run_started ()
667+ self .assertEqual (self .run1 .status , self .run1 .Status .RUNNING )
668+
669+ @patch ("vulnerabilities.tasks.dequeue_job" , return_value = "" )
670+ def test_pipelinerun_stopped (self , mock_dequeue ):
671+ self .run1 .stop_run ()
672+ self .assertEqual (self .run1 .status , self .run1 .Status .STOPPED )
673+
674+ def test_pipelinerun_success (self ):
675+ self .run1 .set_run_ended (exitcode = 0 )
676+ self .assertEqual (self .run1 .status , self .run1 .Status .SUCCESS )
677+
678+
679+ class TestPipelineScheduleModel (DjangoTestCase ):
680+ def setUp (self ):
681+ self .schedule1 = models .PipelineSchedule .objects .create (pipeline_id = "test_pipeline" )
682+ self .run1 = models .PipelineRun .objects .create (pipeline = self .schedule1 )
683+ self .run1 .set_run_started ()
684+ self .run1 .set_run_ended (exitcode = 0 )
685+ self .run2 = models .PipelineRun .objects .create (pipeline = self .schedule1 )
686+ self .run2 .set_run_started ()
687+
688+ def test_pipelineschedule_status (self ):
689+ self .assertEqual (self .schedule1 .status , "running" )
690+
691+ def test_pipelineschedule_latest_run_date (self ):
692+ self .assertEqual (self .schedule1 .latest_run_date , self .run2 .created_date )
693+
694+ def test_pipelineschedule_all_runs (self ):
695+ self .assertEqual (self .schedule1 .all_runs .count (), 2 )
0 commit comments