Skip to content

Commit 46f7c0b

Browse files
committed
added tests to cover new Component.get_all_nested_components() method
Signed-off-by: Paul Horton <[email protected]>
1 parent e31af65 commit 46f7c0b

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

tests/test_model_component.py

+24-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ def test_empty_basic_component(self, mock_uuid: Mock) -> None:
131131
self.assertSetEqual(c.external_references, set())
132132
self.assertFalse(c.properties)
133133
self.assertIsNone(c.release_notes)
134-
134+
self.assertEqual(0, len(c.components))
135+
self.assertEqual(0, len(c.get_all_nested_components()))
135136
self.assertEqual(len(c.get_vulnerabilities()), 0)
136137

137138
@patch('cyclonedx.model.bom_ref.uuid4', return_value='6f266d1c-760f-4552-ae3b-41a9b74232fa')
@@ -318,6 +319,28 @@ def test_sort(self) -> None:
318319
expected_components = reorder(components, expected_order)
319320
self.assertListEqual(sorted_components, expected_components)
320321

322+
def test_nested_components_1(self) -> None:
323+
comp_b = Component(name="comp_b", version="1.0.0")
324+
comp_c = Component(name="comp_c", version="1.0.0")
325+
comp_b.components.add(comp_c)
326+
comp_b.dependencies.add(comp_c.bom_ref)
327+
328+
self.assertEqual(1, len(comp_b.components))
329+
self.assertEqual(2, len(comp_b.get_all_nested_components(include_self=True)))
330+
self.assertEqual(1, len(comp_b.get_all_nested_components(include_self=False)))
331+
332+
def test_nested_components_2(self) -> None:
333+
comp_a = Component(name="comp_a", version="1.2.3")
334+
comp_b = Component(name="comp_b", version="1.0.0")
335+
comp_c = Component(name="comp_c", version="1.0.0")
336+
comp_b.components.add(comp_c)
337+
comp_b.dependencies.add(comp_c.bom_ref)
338+
comp_b.components.add(comp_a)
339+
340+
self.assertEqual(2, len(comp_b.components))
341+
self.assertEqual(3, len(comp_b.get_all_nested_components(include_self=True)))
342+
self.assertEqual(2, len(comp_b.get_all_nested_components(include_self=False)))
343+
321344

322345
class TestModelComponentEvidence(TestCase):
323346

0 commit comments

Comments
 (0)