@@ -624,3 +624,38 @@ def test_scanpipe_check_vulnerabilities_pipeline_integration_test(
624
624
package1 .refresh_from_db ()
625
625
expected = {"discovered_vulnerabilities" : vulnerability_data }
626
626
self .assertEqual (expected , package1 .extra_data )
627
+
628
+ @mock .patch ("scanpipe.pipelines.inspect_manifest.resolver_api" )
629
+ def test_scanpipe_inspect_manifest_pipeline_integration_test (self , resolver_api ):
630
+ resolver_api .return_value = mock .Mock (packages = [])
631
+
632
+ pipeline_name = "inspect_manifest"
633
+ project1 = Project .objects .create (name = "Analysis" )
634
+
635
+ run = project1 .add_pipeline (pipeline_name )
636
+ pipeline = run .make_pipeline_instance ()
637
+
638
+ project1 .move_input_from (tempfile .mkstemp ()[1 ])
639
+ exitcode , out = pipeline .execute ()
640
+ self .assertEqual (1 , exitcode , msg = out )
641
+ self .assertIn ("No package type found for" , out )
642
+
643
+ project1 .reset (keep_input = False )
644
+ run = project1 .add_pipeline (pipeline_name )
645
+ pipeline = run .make_pipeline_instance ()
646
+
647
+ project1 .move_input_from (tempfile .mkstemp (suffix = "requirements.txt" )[1 ])
648
+ exitcode , out = pipeline .execute ()
649
+ self .assertEqual (1 , exitcode , msg = out )
650
+ self .assertIn ("No packages could be resolved." , out )
651
+
652
+ resolver_api .return_value = mock .Mock (packages = [package_data1 ])
653
+ exitcode , out = pipeline .execute ()
654
+ self .assertEqual (0 , exitcode , msg = out )
655
+
656
+ self .assertEqual (1 , project1 .discoveredpackages .count ())
657
+ discoveredpackage = project1 .discoveredpackages .get ()
658
+ exclude_fields = ["qualifiers" , "release_date" , "size" ]
659
+ for field_name , value in package_data1 .items ():
660
+ if value and field_name not in exclude_fields :
661
+ self .assertEqual (value , getattr (discoveredpackage , field_name ))
0 commit comments