Skip to content

Commit 08687b0

Browse files
committed
add tests
Signed-off-by: Aayush Kumar <aayush214.kumar@gmail.com>
1 parent 94c276f commit 08687b0

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

scanpipe/tests/test_models.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1645,6 +1645,16 @@ def test_scanpipe_can_compute_compliance_alert_for_license_exceptions(self):
16451645
resource.update(detected_license_expression=license_expression)
16461646
self.assertEqual("warning", resource.compute_compliance_alert())
16471647

1648+
def test_scanpipe_codebase_root_parent_directory_path(self):
1649+
resource1 = self.project1.codebaseresources.create(path="file")
1650+
1651+
self.assertEqual("", resource1.parent_directory_path)
1652+
1653+
def test_scanpipe_codebase_regular_parent_directory_path(self):
1654+
resource2 = self.project1.codebaseresources.create(path="dir1/dir2/file")
1655+
1656+
self.assertEqual("dir1/dir2", resource2.parent_directory_path)
1657+
16481658
def test_scanpipe_scan_fields_model_mixin_methods(self):
16491659
expected = [
16501660
"detected_license_expression",

scanpipe/tests/test_pipelines.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,64 @@ def test_scanpipe_scan_codebase_pipeline_integration(self):
863863
expected_file = self.data / "scancode" / "is-npm-1.0.0_scan_codebase.json"
864864
self.assertPipelineResultEqual(expected_file, result_file)
865865

866+
def test_scanpipe_scan_codebase_creates_top_level_paths(self):
867+
pipeline_name = "scan_codebase"
868+
project1 = make_project()
869+
870+
filename = "is-npm-1.0.0.tgz"
871+
input_location = self.data / "scancode" / filename
872+
project1.copy_input_from(input_location)
873+
874+
run = project1.add_pipeline(pipeline_name)
875+
pipeline = run.make_pipeline_instance()
876+
877+
exitcode, out = pipeline.execute()
878+
self.assertEqual(0, exitcode, msg=out)
879+
880+
expected_top_level_paths = ["is-npm-1.0.0.tgz", "is-npm-1.0.0.tgz-extract"]
881+
882+
top_level_resources = project1.codebaseresources.filter(
883+
parent_directory_path=None
884+
)
885+
top_level_paths = [res.path for res in top_level_resources]
886+
887+
self.assertListEqual(top_level_paths, expected_top_level_paths)
888+
889+
def test_scanpipe_scan_codebase_creates_parent_directory_path_field(self):
890+
pipeline_name = "scan_codebase"
891+
project1 = make_project()
892+
893+
filename = "is-npm-1.0.0.tgz"
894+
input_location = self.data / "scancode" / filename
895+
project1.copy_input_from(input_location)
896+
897+
run = project1.add_pipeline(pipeline_name)
898+
pipeline = run.make_pipeline_instance()
899+
900+
exitcode, out = pipeline.execute()
901+
self.assertEqual(0, exitcode, msg=out)
902+
903+
expected_top_level_paths = ["is-npm-1.0.0.tgz", "is-npm-1.0.0.tgz-extract"]
904+
expected_nested_paths = [
905+
"is-npm-1.0.0.tgz-extract/package/index.js",
906+
"is-npm-1.0.0.tgz-extract/package/package.json",
907+
"is-npm-1.0.0.tgz-extract/package/readme.md",
908+
]
909+
910+
top_level_resources = project1.codebaseresources.filter(
911+
parent_directory_path=None
912+
)
913+
top_level_paths = [res.path for res in top_level_resources]
914+
915+
self.assertListEqual(top_level_paths, expected_top_level_paths)
916+
917+
nested_resources = project1.codebaseresources.filter(
918+
parent_directory_path="is-npm-1.0.0.tgz-extract/package"
919+
)
920+
nested_paths = [res.path for res in nested_resources]
921+
922+
self.assertListEqual(nested_paths, expected_nested_paths)
923+
866924
def test_scanpipe_inspect_packages_creates_packages_npm(self):
867925
pipeline_name = "inspect_packages"
868926
project1 = make_project()

0 commit comments

Comments
 (0)