|
28 | 28 | from django.test import TestCase |
29 | 29 |
|
30 | 30 | from scanpipe.models import Project |
| 31 | +from scanpipe.pipes.vulnerablecode import chunked |
31 | 32 | from scanpipe.pipes.vulnerablecode import fetch_vulnerabilities |
32 | 33 | from scanpipe.pipes.vulnerablecode import filter_vulnerabilities |
| 34 | +from scanpipe.pipes.vulnerablecode import get_purls |
33 | 35 | from scanpipe.tests import make_package |
34 | 36 |
|
35 | 37 |
|
@@ -81,3 +83,29 @@ def test_scanpipe_pipes_vulnerablecode_filter_vulnerabilities(self): |
81 | 83 | vulnerability2 = vulnerability_data[1] |
82 | 84 | ignore_set.add(vulnerability2.get("aliases")[1]) |
83 | 85 | 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