Skip to content

Commit 24902bf

Browse files
committed
Add test for Project.walk_codebase_path #180
* Format code Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent a9410f8 commit 24902bf

File tree

5 files changed

+38
-6
lines changed

5 files changed

+38
-6
lines changed

scanpipe/pipes/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929

3030
from django.db.models import Count
3131

32+
from scanpipe.models import ROOT_SYMBOL
3233
from scanpipe.models import CodebaseResource
3334
from scanpipe.models import DiscoveredPackage
34-
from scanpipe.models import ROOT_SYMBOL
3535
from scanpipe.pipes import scancode
3636

3737
logger = logging.getLogger("scanpipe.pipes")

scanpipe/pipes/codebase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323
from django.core.exceptions import ObjectDoesNotExist
2424

25-
from scanpipe.models import Project
2625
from scanpipe.models import ROOT_SYMBOL
26+
from scanpipe.models import Project
2727

2828

2929
def sort_by_lower_name(resource):

scanpipe/tests/regen_test_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
from django.core.management import call_command
2727
from django.test import TestCase
2828

29-
from scanpipe.models import Project
3029
from scanpipe.models import ROOT_SYMBOL
30+
from scanpipe.models import Project
3131
from scanpipe.pipes import codebase
3232
from scanpipe.pipes import output
3333

scanpipe/tests/test_models.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,37 @@ def test_scanpipe_project_model_raise_if_run_in_progress(self):
434434
with self.assertRaises(RunInProgressError):
435435
self.project1.reset()
436436

437+
def test_scanpipe_project_model_walk_codebase_path(self):
438+
expected_truncated_paths = [
439+
"asgiref-3.3.0-py3-none-any.whl-extract",
440+
"asgiref-3.3.0-py3-none-any.whl",
441+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref",
442+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info",
443+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/sync.py",
444+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/testing.py",
445+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/server.py",
446+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/compatibility.py",
447+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/local.py",
448+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/current_thread_executor.py",
449+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/timeout.py",
450+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/wsgi.py",
451+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref/__init__.py",
452+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/LICENSE",
453+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/WHEEL",
454+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/top_level.txt",
455+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/RECORD",
456+
"asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
457+
]
458+
# We need to truncate the paths to avoid false test failures due to the
459+
# difference in temporary directory names where the test Project lives
460+
truncated_paths = []
461+
for resource_path in self.project_asgiref.walk_codebase_path():
462+
split_path = str(resource_path).split("/codebase/")
463+
if len(split_path) > 1:
464+
truncated_path = split_path[1]
465+
truncated_paths.append(truncated_path)
466+
self.assertEquals(expected_truncated_paths, truncated_paths)
467+
437468
def test_scanpipe_run_model_set_scancodeio_version(self):
438469
run1 = Run.objects.create(project=self.project1)
439470
self.assertEqual("", run1.scancodeio_version)

scanpipe/tests/test_pipes.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@
3838
from commoncode.resource import VirtualCodebase
3939
from scancode.interrupt import TimeoutError as InterruptTimeoutError
4040

41+
from scanpipe.models import ROOT_SYMBOL
4142
from scanpipe.models import CodebaseResource
4243
from scanpipe.models import DiscoveredPackage
4344
from scanpipe.models import Project
4445
from scanpipe.models import ProjectError
45-
from scanpipe.models import ROOT_SYMBOL
4646
from scanpipe.pipes import codebase
4747
from scanpipe.pipes import fetch
4848
from scanpipe.pipes import filename_now
@@ -532,7 +532,9 @@ def test_scanpipe_pipes_scancode_virtual_codebase(self):
532532
self.assertEqual(19, CodebaseResource.objects.count())
533533
self.assertEqual(1, DiscoveredPackage.objects.count())
534534
# Make sure the root CodebaseResource has been created as ROOT_SYMBOL
535-
self.assertTrue(CodebaseResource.objects.filter(path=ROOT_SYMBOL, name=ROOT_SYMBOL).exists())
535+
self.assertTrue(
536+
CodebaseResource.objects.filter(path=ROOT_SYMBOL, name=ROOT_SYMBOL).exists()
537+
)
536538
# Make sure that the root was not created with a path of "codebase"
537539
self.assertFalse(CodebaseResource.objects.filter(path="codebase").exists())
538540

@@ -698,7 +700,6 @@ def test_scanpipe_pipes_codebase_project_codebase_class_with_resources(self):
698700

699701
self.assertEqual(expected, tree)
700702

701-
702703
def test_scanpipe_pipes_codebase_project_codebase_class_walk(self):
703704
fixtures = self.data_location / "asgiref-3.3.0_walk_test_fixtures.json"
704705
call_command("loaddata", fixtures, **{"verbosity": 0})

0 commit comments

Comments
 (0)