@@ -625,10 +625,7 @@ def test_scanpipe_check_vulnerabilities_pipeline_integration_test(
625
625
expected = {"discovered_vulnerabilities" : vulnerability_data }
626
626
self .assertEqual (expected , package1 .extra_data )
627
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
-
628
+ def test_scanpipe_inspect_manifest_pipeline_integration_test (self ):
632
629
pipeline_name = "inspect_manifest"
633
630
project1 = Project .objects .create (name = "Analysis" )
634
631
@@ -640,14 +637,21 @@ def test_scanpipe_inspect_manifest_pipeline_integration_test(self, resolver_api)
640
637
self .assertEqual (1 , exitcode , msg = out )
641
638
self .assertIn ("No package type found for" , out )
642
639
643
- project1 .reset (keep_input = False )
640
+ @mock .patch ("scanpipe.pipes.resolve.resolver_api" )
641
+ def test_scanpipe_inspect_manifest_pipeline_pypi_integration_test (
642
+ self , resolver_api
643
+ ):
644
+ pipeline_name = "inspect_manifest"
645
+ project1 = Project .objects .create (name = "Analysis" )
646
+
644
647
run = project1 .add_pipeline (pipeline_name )
645
648
pipeline = run .make_pipeline_instance ()
646
649
650
+ resolver_api .return_value = mock .Mock (packages = [])
647
651
project1 .move_input_from (tempfile .mkstemp (suffix = "requirements.txt" )[1 ])
648
652
exitcode , out = pipeline .execute ()
649
653
self .assertEqual (1 , exitcode , msg = out )
650
- self .assertIn ("No packages could be resolved. " , out )
654
+ self .assertIn ("No packages could be resolved" , out )
651
655
652
656
resolver_api .return_value = mock .Mock (packages = [package_data1 ])
653
657
exitcode , out = pipeline .execute ()
@@ -659,3 +663,23 @@ def test_scanpipe_inspect_manifest_pipeline_integration_test(self, resolver_api)
659
663
for field_name , value in package_data1 .items ():
660
664
if value and field_name not in exclude_fields :
661
665
self .assertEqual (value , getattr (discoveredpackage , field_name ))
666
+
667
+ def test_scanpipe_inspect_manifest_pipeline_aboutfile_integration_test (self ):
668
+ pipeline_name = "inspect_manifest"
669
+ project1 = Project .objects .create (name = "Analysis" )
670
+
671
+ input_location = self .data_location / "Django-4.0.8-py3-none-any.whl.ABOUT"
672
+ project1 .copy_input_from (input_location )
673
+
674
+ run = project1 .add_pipeline (pipeline_name )
675
+ pipeline = run .make_pipeline_instance ()
676
+
677
+ exitcode , out = pipeline .execute ()
678
+ self .assertEqual (0 , exitcode , msg = out )
679
+
680
+ self .assertEqual (1 , project1 .discoveredpackages .count ())
681
+ discoveredpackage = project1 .discoveredpackages .get ()
682
+ self .assertEqual ("pypi" , discoveredpackage .type )
683
+ self .assertEqual ("django" , discoveredpackage .name )
684
+ self .assertEqual ("4.0.8" , discoveredpackage .version )
685
+ self .assertEqual ("bsd-new" , discoveredpackage .license_expression )
0 commit comments