22
22
23
23
from packageurl import PackageURL
24
24
25
+ from cyclonedx .model .bom import Bom
25
26
from cyclonedx .model .component import Component
26
27
27
28
@@ -30,6 +31,7 @@ class TestComponent(TestCase):
30
31
@classmethod
31
32
def setUpClass (cls ) -> None :
32
33
cls ._component : Component = Component (name = 'setuptools' , version = '50.3.2' )
34
+ cls ._component_2 : Component = Component (name = 'setuptools' , version = '50.3.2' )
33
35
cls ._component_with_qualifiers : Component = Component (name = 'setuptools' , version = '50.3.2' ,
34
36
qualifiers = 'extension=tar.gz' )
35
37
cls ._component_generic_file : Component = Component (
@@ -116,3 +118,23 @@ def test_from_file_with_path_for_bom(self):
116
118
)
117
119
self .assertEqual (c .to_package_url (), purl )
118
120
self .assertEqual (len (c .get_hashes ()), 1 )
121
+
122
+ def test_has_component_1 (self ):
123
+ bom = Bom ()
124
+ bom .add_component (component = TestComponent ._component )
125
+ bom .add_component (component = TestComponent ._component_2 )
126
+ self .assertEqual (len (bom .get_components ()), 1 )
127
+ self .assertTrue (bom .has_component (component = TestComponent ._component_2 ))
128
+ self .assertIsNot (TestComponent ._component , TestComponent ._component_2 )
129
+
130
+ def test_get_component_by_purl_1 (self ):
131
+ bom = Bom ()
132
+ bom .add_component (component = TestComponent ._component )
133
+ bom .add_component (component = TestComponent ._component_2 )
134
+ self .assertEqual (len (bom .get_components ()), 1 )
135
+ self .assertTrue (bom .has_component (component = TestComponent ._component ))
136
+ self .assertTrue (bom .has_component (component = TestComponent ._component_2 ))
137
+ self .assertEqual (bom .get_component_by_purl (
138
+ purl = TestComponent ._component .get_purl ()),
139
+ TestComponent ._component_2
140
+ )
0 commit comments