Skip to content

Commit d840db4

Browse files
feat: add tests for chunked and get_purls utilities (#2100)
Signed-off-by: Rishabh Rohil <rishabhrohil024@gmail.com>
1 parent be53926 commit d840db4

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

scanpipe/tests/pipes/test_vulnerablecode.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
from django.test import TestCase
2929

3030
from scanpipe.models import Project
31+
from scanpipe.pipes.vulnerablecode import chunked
3132
from scanpipe.pipes.vulnerablecode import fetch_vulnerabilities
3233
from scanpipe.pipes.vulnerablecode import filter_vulnerabilities
34+
from scanpipe.pipes.vulnerablecode import get_purls
3335
from scanpipe.tests import make_package
3436

3537

@@ -81,3 +83,29 @@ def test_scanpipe_pipes_vulnerablecode_filter_vulnerabilities(self):
8183
vulnerability2 = vulnerability_data[1]
8284
ignore_set.add(vulnerability2.get("aliases")[1])
8385
self.assertEqual([], filter_vulnerabilities(vulnerability_data, ignore_set))
86+
87+
def test_scanpipe_pipes_vulnerablecode_chunked(self):
88+
result = list(chunked([1, 2, 3, 4, 5], 2))
89+
self.assertEqual([[1, 2], [3, 4], [5]], result)
90+
91+
result = list(chunked([1, 2, 3, 4, 5], 3))
92+
self.assertEqual([[1, 2, 3], [4, 5]], result)
93+
94+
result = list(chunked([], 10))
95+
self.assertEqual([], result)
96+
97+
result = list(chunked([1], 5))
98+
self.assertEqual([[1]], result)
99+
100+
result = list(chunked([1, 2, 3], 3))
101+
self.assertEqual([[1, 2, 3]], result)
102+
103+
def test_scanpipe_pipes_vulnerablecode_get_purls(self):
104+
pkg1 = make_package(self.project1, "pkg:pypi/django@5.0")
105+
pkg2 = make_package(self.project1, "pkg:npm/express@4.18.2")
106+
purls = get_purls([pkg1, pkg2])
107+
self.assertEqual(["pkg:pypi/django@5.0", "pkg:npm/express@4.18.2"], purls)
108+
109+
def test_scanpipe_pipes_vulnerablecode_get_purls_empty(self):
110+
purls = get_purls([])
111+
self.assertEqual([], purls)

0 commit comments

Comments
 (0)