@@ -624,3 +624,38 @@ def test_scanpipe_check_vulnerabilities_pipeline_integration_test(
624624 package1 .refresh_from_db ()
625625 expected = {"discovered_vulnerabilities" : vulnerability_data }
626626 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