scanoss 1.26.1__tar.gz → 1.26.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. {scanoss-1.26.1/src/scanoss.egg-info → scanoss-1.26.3}/PKG-INFO +1 -1
  2. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/__init__.py +1 -1
  3. scanoss-1.26.3/src/scanoss/data/build_date.txt +1 -0
  4. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/copyleft.py +1 -1
  5. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/inspect_base.py +28 -9
  6. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/license_summary.py +1 -1
  7. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/policy_check.py +1 -1
  8. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/undeclared_component.py +1 -1
  9. {scanoss-1.26.1 → scanoss-1.26.3/src/scanoss.egg-info}/PKG-INFO +1 -1
  10. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_policy_inspect.py +30 -12
  11. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_spdxlite.py +2 -2
  12. scanoss-1.26.1/src/scanoss/data/build_date.txt +0 -1
  13. {scanoss-1.26.1 → scanoss-1.26.3}/LICENSE +0 -0
  14. {scanoss-1.26.1 → scanoss-1.26.3}/PACKAGE.md +0 -0
  15. {scanoss-1.26.1 → scanoss-1.26.3}/README.md +0 -0
  16. {scanoss-1.26.1 → scanoss-1.26.3}/pyproject.toml +0 -0
  17. {scanoss-1.26.1 → scanoss-1.26.3}/setup.cfg +0 -0
  18. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/__init__.py +0 -0
  19. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/options/__init__.py +0 -0
  20. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/options/annotations_pb2.py +0 -0
  21. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/options/annotations_pb2_grpc.py +0 -0
  22. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/options/openapiv2_pb2.py +0 -0
  23. {scanoss-1.26.1 → scanoss-1.26.3}/src/protoc_gen_swagger/options/openapiv2_pb2_grpc.py +0 -0
  24. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/__init__.py +0 -0
  25. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/common/__init__.py +0 -0
  26. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/common/v2/__init__.py +0 -0
  27. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/common/v2/scanoss_common_pb2.py +0 -0
  28. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/common/v2/scanoss_common_pb2_grpc.py +0 -0
  29. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/components/__init__.py +0 -0
  30. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/components/v2/__init__.py +0 -0
  31. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/components/v2/scanoss_components_pb2.py +0 -0
  32. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/components/v2/scanoss_components_pb2_grpc.py +0 -0
  33. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/cryptography/v2/scanoss_cryptography_pb2.py +0 -0
  34. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/cryptography/v2/scanoss_cryptography_pb2_grpc.py +0 -0
  35. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/dependencies/__init__.py +0 -0
  36. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/dependencies/v2/__init__.py +0 -0
  37. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/dependencies/v2/scanoss_dependencies_pb2.py +0 -0
  38. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/dependencies/v2/scanoss_dependencies_pb2_grpc.py +0 -0
  39. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/geoprovenance/__init__.py +0 -0
  40. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/geoprovenance/v2/__init__.py +0 -0
  41. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/geoprovenance/v2/scanoss_geoprovenance_pb2.py +0 -0
  42. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/geoprovenance/v2/scanoss_geoprovenance_pb2_grpc.py +0 -0
  43. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/scanning/__init__.py +0 -0
  44. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/scanning/v2/__init__.py +0 -0
  45. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/scanning/v2/scanoss_scanning_pb2.py +0 -0
  46. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/scanning/v2/scanoss_scanning_pb2_grpc.py +0 -0
  47. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/semgrep/__init__.py +0 -0
  48. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/semgrep/v2/__init__.py +0 -0
  49. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/semgrep/v2/scanoss_semgrep_pb2.py +0 -0
  50. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/semgrep/v2/scanoss_semgrep_pb2_grpc.py +0 -0
  51. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/vulnerabilities/__init__.py +0 -0
  52. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/vulnerabilities/v2/__init__.py +0 -0
  53. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/vulnerabilities/v2/scanoss_vulnerabilities_pb2.py +0 -0
  54. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/api/vulnerabilities/v2/scanoss_vulnerabilities_pb2_grpc.py +0 -0
  55. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/cli.py +0 -0
  56. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/components.py +0 -0
  57. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/constants.py +0 -0
  58. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/cryptography.py +0 -0
  59. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/csvoutput.py +0 -0
  60. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/cyclonedx.py +0 -0
  61. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/data/scanoss-settings-schema.json +0 -0
  62. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/data/spdx-exceptions.json +0 -0
  63. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/data/spdx-licenses.json +0 -0
  64. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/file_filters.py +0 -0
  65. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/filecount.py +0 -0
  66. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/__init__.py +0 -0
  67. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/component_summary.py +0 -0
  68. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/inspection/utils/license_utils.py +0 -0
  69. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/results.py +0 -0
  70. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scancodedeps.py +0 -0
  71. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanner.py +0 -0
  72. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanners/__init__.py +0 -0
  73. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanners/container_scanner.py +0 -0
  74. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanners/folder_hasher.py +0 -0
  75. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanners/scanner_config.py +0 -0
  76. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanners/scanner_hfh.py +0 -0
  77. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanoss_settings.py +0 -0
  78. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanossapi.py +0 -0
  79. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanossbase.py +0 -0
  80. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanossgrpc.py +0 -0
  81. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scanpostprocessor.py +0 -0
  82. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/scantype.py +0 -0
  83. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/spdxlite.py +0 -0
  84. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/threadeddependencies.py +0 -0
  85. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/threadedscanning.py +0 -0
  86. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/utils/__init__.py +0 -0
  87. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/utils/abstract_presenter.py +0 -0
  88. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/utils/crc64.py +0 -0
  89. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/utils/file.py +0 -0
  90. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/utils/simhash.py +0 -0
  91. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss/winnowing.py +0 -0
  92. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss.egg-info/SOURCES.txt +0 -0
  93. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss.egg-info/dependency_links.txt +0 -0
  94. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss.egg-info/entry_points.txt +0 -0
  95. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss.egg-info/requires.txt +0 -0
  96. {scanoss-1.26.1 → scanoss-1.26.3}/src/scanoss.egg-info/top_level.txt +0 -0
  97. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_csv_output.py +0 -0
  98. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_file_filters.py +0 -0
  99. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_scan_post_processor.py +0 -0
  100. {scanoss-1.26.1 → scanoss-1.26.3}/tests/test_winnowing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scanoss
3
- Version: 1.26.1
3
+ Version: 1.26.3
4
4
  Summary: Simple Python library to leverage the SCANOSS APIs
5
5
  Home-page: https://scanoss.com
6
6
  Author: SCANOSS
@@ -22,4 +22,4 @@ SPDX-License-Identifier: MIT
22
22
  THE SOFTWARE.
23
23
  """
24
24
 
25
- __version__ = '1.26.1'
25
+ __version__ = '1.26.3'
@@ -0,0 +1 @@
1
+ date: 20250626171827, utime: 1750958307
@@ -37,7 +37,7 @@ class Copyleft(PolicyCheck):
37
37
  def __init__( # noqa: PLR0913
38
38
  self,
39
39
  debug: bool = False,
40
- trace: bool = True,
40
+ trace: bool = False,
41
41
  quiet: bool = False,
42
42
  filepath: str = None,
43
43
  format_type: str = 'json',
@@ -66,7 +66,7 @@ class InspectBase(ScanossBase):
66
66
  def __init__( # noqa: PLR0913
67
67
  self,
68
68
  debug: bool = False,
69
- trace: bool = True,
69
+ trace: bool = False,
70
70
  quiet: bool = False,
71
71
  filepath: str = None,
72
72
  output: str = None,
@@ -152,9 +152,6 @@ class InspectBase(ScanossBase):
152
152
  'declared': 1 if status == 'identified' else 0,
153
153
  'undeclared': 1 if status == 'pending' else 0
154
154
  }
155
- if not new_component.get('licenses'):
156
- self.print_debug(f'WARNING: Results missing licenses. Skipping: {new_component}')
157
- return components
158
155
 
159
156
  ## Append license to component
160
157
  self._append_license_to_component(components, new_component, component_key)
@@ -179,6 +176,11 @@ class InspectBase(ScanossBase):
179
176
  new_component: Component whose licenses need to be processed
180
177
  component_key: purl + version of the component to be updated
181
178
  """
179
+ # If not licenses are present
180
+ if not new_component.get('licenses'):
181
+ self.print_debug(f'WARNING: Results missing licenses. Skipping: {new_component}')
182
+ return
183
+
182
184
  licenses_order_by_source_priority = self._get_licenses_order_by_source_priority(new_component['licenses'])
183
185
  # Process licenses for this component
184
186
  for license_item in licenses_order_by_source_priority:
@@ -393,14 +395,31 @@ class InspectBase(ScanossBase):
393
395
  """
394
396
  component_licenses: dict = {}
395
397
  for component in components:
396
- for lic in component['licenses']:
397
- spdxid = lic.get('spdxid', 'Unknown')
398
+ purl = component.get('purl', '')
399
+ status = component.get('status', '')
400
+ licenses = component.get('licenses', [])
401
+
402
+ # Component without license
403
+ if not licenses:
404
+ key = f'{purl}-unknown'
405
+ component_licenses[key] = {
406
+ 'purl': purl,
407
+ 'spdxid': 'unknown',
408
+ 'status': status,
409
+ 'copyleft': False,
410
+ 'url': '-',
411
+ }
412
+ continue
413
+
414
+ # Iterate over licenses component licenses
415
+ for lic in licenses:
416
+ spdxid = lic.get('spdxid', 'unknown')
398
417
  if spdxid not in component_licenses:
399
- key = f'{component["purl"]}-{spdxid}'
418
+ key = f'{purl}-{spdxid}'
400
419
  component_licenses[key] = {
401
- 'purl': component['purl'],
420
+ 'purl': purl,
402
421
  'spdxid': spdxid,
403
- 'status': component['status'],
422
+ 'status': status,
404
423
  'copyleft': lic['copyleft'],
405
424
  'url': lic['url'],
406
425
  }
@@ -42,7 +42,7 @@ class LicenseSummary(InspectBase):
42
42
  def __init__( # noqa: PLR0913
43
43
  self,
44
44
  debug: bool = False,
45
- trace: bool = True,
45
+ trace: bool = False,
46
46
  quiet: bool = False,
47
47
  filepath: str = None,
48
48
  status: str = None,
@@ -64,7 +64,7 @@ class PolicyCheck(InspectBase):
64
64
  def __init__( # noqa: PLR0913
65
65
  self,
66
66
  debug: bool = False,
67
- trace: bool = True,
67
+ trace: bool = False,
68
68
  quiet: bool = False,
69
69
  filepath: str = None,
70
70
  format_type: str = None,
@@ -37,7 +37,7 @@ class UndeclaredComponent(PolicyCheck):
37
37
  def __init__( # noqa: PLR0913
38
38
  self,
39
39
  debug: bool = False,
40
- trace: bool = True,
40
+ trace: bool = False,
41
41
  quiet: bool = False,
42
42
  filepath: str = None,
43
43
  format_type: str = 'json',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scanoss
3
- Version: 1.26.1
3
+ Version: 1.26.3
4
4
  Summary: Simple Python library to leverage the SCANOSS APIs
5
5
  Home-page: https://scanoss.com
6
6
  Author: SCANOSS
@@ -181,11 +181,14 @@ class MyTestCase(unittest.TestCase):
181
181
  status, results = undeclared.run()
182
182
  details = json.loads(results['details'])
183
183
  summary = results['summary']
184
- expected_summary_output = """2 undeclared component(s) were found.
184
+ expected_summary_output = """3 undeclared component(s) were found.
185
185
  Add the following snippet into your `sbom.json` file
186
186
  ```json
187
187
  {
188
188
  "components":[
189
+ {
190
+ "purl": "pkg:github/scanoss/jenkins-pipeline-example"
191
+ },
189
192
  {
190
193
  "purl": "pkg:github/scanoss/scanner.c"
191
194
  },
@@ -195,7 +198,7 @@ class MyTestCase(unittest.TestCase):
195
198
  ]
196
199
  }```
197
200
  """
198
- self.assertEqual(len(details['components']), 3)
201
+ self.assertEqual(len(details['components']), 4)
199
202
  self.assertEqual(
200
203
  re.sub(r'\s|\\(?!`)|\\(?=`)', '', summary), re.sub(r'\s|\\(?!`)|\\(?=`)', '', expected_summary_output)
201
204
  )
@@ -216,14 +219,18 @@ class MyTestCase(unittest.TestCase):
216
219
  expected_details_output = """ ### Undeclared components
217
220
  | Component | License |
218
221
  | - | - |
222
+ | pkg:github/scanoss/jenkins-pipeline-example | unknown |
219
223
  | pkg:github/scanoss/scanner.c | GPL-2.0-only |
220
224
  | pkg:github/scanoss/wfp | GPL-2.0-only | """
221
225
 
222
- expected_summary_output = """2 undeclared component(s) were found.
226
+ expected_summary_output = """3 undeclared component(s) were found.
223
227
  Add the following snippet into your `sbom.json` file
224
228
  ```json
225
229
  {
226
230
  "components":[
231
+ {
232
+ "purl": "pkg:github/scanoss/jenkins-pipeline-example"
233
+ },
227
234
  {
228
235
  "purl": "pkg:github/scanoss/scanner.c"
229
236
  },
@@ -256,16 +263,20 @@ class MyTestCase(unittest.TestCase):
256
263
  expected_details_output = """ ### Undeclared components
257
264
  | Component | License |
258
265
  | - | - |
266
+ | pkg:github/scanoss/jenkins-pipeline-example | unknown |
259
267
  | pkg:github/scanoss/scanner.c | GPL-2.0-only |
260
268
  | pkg:github/scanoss/wfp | GPL-2.0-only | """
261
269
 
262
- expected_summary_output = """2 undeclared component(s) were found.
270
+ expected_summary_output = """3 undeclared component(s) were found.
263
271
  Add the following snippet into your `scanoss.json` file
264
272
 
265
273
  ```json
266
274
  {
267
275
  "bom": {
268
276
  "include": [
277
+ {
278
+ "purl": "pkg:github/scanoss/jenkins-pipeline-example"
279
+ },
269
280
  {
270
281
  "purl": "pkg:github/scanoss/scanner.c"
271
282
  },
@@ -296,13 +307,16 @@ class MyTestCase(unittest.TestCase):
296
307
  status, results = undeclared.run()
297
308
  details = json.loads(results['details'])
298
309
  summary = results['summary']
299
- expected_summary_output = """2 undeclared component(s) were found.
310
+ expected_summary_output = """3 undeclared component(s) were found.
300
311
  Add the following snippet into your `scanoss.json` file
301
312
 
302
313
  ```json
303
314
  {
304
315
  "bom": {
305
316
  "include": [
317
+ {
318
+ "purl": "pkg:github/scanoss/jenkins-pipeline-example"
319
+ },
306
320
  {
307
321
  "purl": "pkg:github/scanoss/scanner.c"
308
322
  },
@@ -314,7 +328,7 @@ class MyTestCase(unittest.TestCase):
314
328
  }
315
329
  ```"""
316
330
  self.assertEqual(status, 0)
317
- self.assertEqual(len(details['components']), 3)
331
+ self.assertEqual(len(details['components']), 4)
318
332
  self.assertEqual(
319
333
  re.sub(r'\s|\\(?!`)|\\(?=`)', '', summary), re.sub(r'\s|\\(?!`)|\\(?=`)', '', expected_summary_output)
320
334
  )
@@ -328,15 +342,19 @@ class MyTestCase(unittest.TestCase):
328
342
  details = results['details']
329
343
  summary = results['summary']
330
344
  expected_details_output = """|*Component*|*License*|
345
+ |pkg:github/scanoss/jenkins-pipeline-example|unknown|
331
346
  |pkg:github/scanoss/scanner.c|GPL-2.0-only|
332
347
  |pkg:github/scanoss/wfp|GPL-2.0-only|
333
348
  """
334
- expected_summary_output = """2 undeclared component(s) were found.
349
+ expected_summary_output = """3 undeclared component(s) were found.
335
350
  Add the following snippet into your `scanoss.json` file
336
351
  {code:json}
337
352
  {
338
353
  "bom": {
339
354
  "include": [
355
+ {
356
+ "purl": "pkg:github/scanoss/jenkins-pipeline-example"
357
+ },
340
358
  {
341
359
  "purl": "pkg:github/scanoss/scanner.c"
342
360
  },
@@ -373,7 +391,7 @@ Add the following snippet into your `scanoss.json` file
373
391
  input_file_name = os.path.join(script_dir, 'data', file_name)
374
392
  i_license_summary = LicenseSummary(filepath=input_file_name)
375
393
  license_summary = i_license_summary.run()
376
- self.assertEqual(license_summary['detectedLicenses'], 2)
394
+ self.assertEqual(license_summary['detectedLicenses'], 3)
377
395
  self.assertEqual(license_summary['detectedLicensesWithCopyleft'], 1)
378
396
 
379
397
  def test_inspect_license_summary_with_empty_result(self):
@@ -393,11 +411,11 @@ Add the following snippet into your `scanoss.json` file
393
411
  i_component_summary = ComponentSummary(filepath=input_file_name)
394
412
  component_summary = i_component_summary.run()
395
413
  print(component_summary)
396
- self.assertEqual(component_summary['totalComponents'], 3)
397
- self.assertEqual(component_summary['undeclaredComponents'], 2)
414
+ self.assertEqual(component_summary['totalComponents'], 4)
415
+ self.assertEqual(component_summary['undeclaredComponents'], 3)
398
416
  self.assertEqual(component_summary['declaredComponents'], 1)
399
- self.assertEqual(component_summary['totalFilesDetected'], 7)
400
- self.assertEqual(component_summary['totalFilesUndeclared'], 5)
417
+ self.assertEqual(component_summary['totalFilesDetected'], 10)
418
+ self.assertEqual(component_summary['totalFilesUndeclared'], 8)
401
419
  self.assertEqual(component_summary['totalFilesDeclared'], 2)
402
420
 
403
421
  def test_inspect_component_summary_empty_result(self):
@@ -58,8 +58,8 @@ class MyTestCase(unittest.TestCase):
58
58
  self.assertEqual(name, "SCANOSS-SBOM")
59
59
  self.assertEqual(organization, "Organization: SCANOSS")
60
60
  self.assertEqual(creation_info_comment, "SBOM Build information - SBOM Type: Build")
61
- self.assertEqual(len(document_describes), 5)
62
- self.assertEqual(len(packages), 5)
61
+ self.assertEqual(len(document_describes), 6)
62
+ self.assertEqual(len(packages), 6)
63
63
 
64
64
  for package in packages:
65
65
  for checksum in package.get("checksums", []):
@@ -1 +0,0 @@
1
- date: 20250623123500, utime: 1750682100
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes