|
22 | 22 | from cyclonedx.model import License, LicenseChoice, OrganizationalContact, OrganizationalEntity, Property
|
23 | 23 | from cyclonedx.model.bom import Bom, BomMetaData, ThisTool, Tool
|
24 | 24 | from cyclonedx.model.component import Component, ComponentType
|
25 |
| -from data import get_bom_for_issue_275_components, get_bom_with_component_setuptools_with_vulnerability |
| 25 | +from data import ( |
| 26 | + get_bom_for_issue_275_components, |
| 27 | + get_bom_with_component_setuptools_with_vulnerability, |
| 28 | + get_component_setuptools_simple, |
| 29 | + get_component_setuptools_simple_no_version, |
| 30 | +) |
26 | 31 |
|
27 | 32 |
|
28 | 33 | class TestBomMetaData(TestCase):
|
@@ -127,3 +132,20 @@ def test_bom_nested_components_issue_275(self) -> None:
|
127 | 132 | # self.assertIsInstance(bom.metadata.component, Component)
|
128 | 133 | # self.assertEqual(2, len(bom.services))
|
129 | 134 | # bom.validate()
|
| 135 | + |
| 136 | + def test_has_component_1(self) -> None: |
| 137 | + bom = Bom() |
| 138 | + bom.components.update([get_component_setuptools_simple(), get_component_setuptools_simple_no_version()]) |
| 139 | + self.assertEqual(len(bom.components), 2) |
| 140 | + self.assertTrue(bom.has_component(component=get_component_setuptools_simple_no_version())) |
| 141 | + self.assertIsNot(get_component_setuptools_simple(), get_component_setuptools_simple_no_version()) |
| 142 | + |
| 143 | + def test_get_component_by_purl(self) -> None: |
| 144 | + bom = Bom() |
| 145 | + setuptools_simple = get_component_setuptools_simple() |
| 146 | + bom.components.add(setuptools_simple) |
| 147 | + |
| 148 | + result = bom.get_component_by_purl(get_component_setuptools_simple().purl) |
| 149 | + |
| 150 | + self.assertIs(result, setuptools_simple) |
| 151 | + self.assertIsNone(bom.get_component_by_purl(get_component_setuptools_simple_no_version().purl)) |
0 commit comments