Skip to content

Commit 095d99a

Browse files
committed
feat: add test fixtures related to bom.definitions
for #697 Signed-off-by: Hakan Dilek <[email protected]>
1 parent 1c78d0b commit 095d99a

23 files changed

+292
-0
lines changed

tests/_data/models.py

+59
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
RelatedCryptoMaterialState,
7979
RelatedCryptoMaterialType,
8080
)
81+
from cyclonedx.model.definition import CreId, DefinitionRepository, Level, Requirement, Standard
8182
from cyclonedx.model.dependency import Dependency
8283
from cyclonedx.model.impact_analysis import (
8384
ImpactAnalysisAffectedStatus,
@@ -1273,6 +1274,62 @@ def get_bom_for_issue_630_empty_property() -> Bom:
12731274
})
12741275

12751276

1277+
def get_bom_with_definitions_standards() -> Bom:
1278+
"""
1279+
Returns a BOM with definitions and standards only.
1280+
"""
1281+
return _make_bom(
1282+
definitions=DefinitionRepository(standards=[
1283+
Standard(name='Some Standard', version='1.2.3', description='Some description',
1284+
owner='Some Owner', external_references=[get_external_reference_2()]
1285+
)
1286+
])
1287+
)
1288+
1289+
1290+
def get_bom_with_definitions_and_detailed_standards() -> Bom:
1291+
"""
1292+
Returns a BOM with definitions and multiple detailed standards including requirements and levels.
1293+
"""
1294+
return _make_bom(
1295+
definitions=DefinitionRepository(
1296+
standards=[
1297+
Standard(name='Some Standard', version='1.2.3', description='Some description',
1298+
owner='Some Owner', external_references=[get_external_reference_1()],
1299+
requirements=[
1300+
Requirement(identifier='REQ-1', title='Requirement 1', text='some requirement text',
1301+
bom_ref='req-1', descriptions=['Requirement 1 described here', 'and here'],
1302+
open_cre=[CreId('CRE:1-2')], properties=[Property(name='key1', value='val1')]
1303+
),
1304+
Requirement(identifier='REQ-2', title='Requirement 2', text='some requirement text',
1305+
bom_ref='req-2', descriptions=['Requirement 2 described here'],
1306+
open_cre=[CreId('CRE:1-2'), CreId('CRE:3-4')],
1307+
properties=[Property(name='key2', value='val2')]
1308+
),
1309+
],
1310+
levels=[
1311+
Level(identifier='LVL-1', title='Level 1', description='Level 1 description',
1312+
bom_ref='lvl-1', requirements=['req-1', 'req-2']),
1313+
Level(identifier='LVL-2', title='Level 2', description='Level 2 description',
1314+
bom_ref='lvl-2', requirements=['req-2'])
1315+
]),
1316+
Standard(name='Another Standard', version='1.0.0', description='Another description',
1317+
owner='Another Owner', external_references=[get_external_reference_2()],
1318+
requirements=[
1319+
Requirement(identifier='REQ-3', title='Requirement 3', text='some requirement text',
1320+
bom_ref='req-3', descriptions=['Requirement 3 described here', 'and here'],
1321+
open_cre=[CreId('CRE:5-6'), CreId('CRE:7-8')],
1322+
properties=[Property(name='key3', value='val3')]
1323+
)
1324+
],
1325+
levels=[
1326+
Level(identifier='LVL-3', title='Level 3', description='Level 3 description',
1327+
bom_ref='lvl-3', requirements=['req-3'])
1328+
])
1329+
]
1330+
))
1331+
1332+
12761333
# ---
12771334

12781335

@@ -1318,4 +1375,6 @@ def get_bom_for_issue_630_empty_property() -> Bom:
13181375
get_bom_for_issue_598_multiple_components_with_purl_qualifiers,
13191376
get_bom_with_component_setuptools_with_v16_fields,
13201377
get_bom_for_issue_630_empty_property,
1378+
get_bom_with_definitions_standards,
1379+
get_bom_with_definitions_and_detailed_standards,
13211380
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.0" version="1">
3+
<components/>
4+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.1" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<components/>
4+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.2b.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.2"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.2" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.3a.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.3"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.3" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.4"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.4" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"properties": [
6+
{
7+
"name": "key1",
8+
"value": "val1"
9+
},
10+
{
11+
"name": "key2",
12+
"value": "val2"
13+
}
14+
],
15+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
16+
"version": 1,
17+
"$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
18+
"bomFormat": "CycloneDX",
19+
"specVersion": "1.5"
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.5" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
<properties>
7+
<property name="key1">val1</property>
8+
<property name="key2">val2</property>
9+
</properties>
10+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.0" version="1">
3+
<components/>
4+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.1" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<components/>
4+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.2b.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.2"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.2" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.3a.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.3"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.3" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
6+
"version": 1,
7+
"$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
8+
"bomFormat": "CycloneDX",
9+
"specVersion": "1.4"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.4" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"metadata": {
3+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
4+
},
5+
"properties": [
6+
{
7+
"name": "key1",
8+
"value": "val1"
9+
},
10+
{
11+
"name": "key2",
12+
"value": "val2"
13+
}
14+
],
15+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
16+
"version": 1,
17+
"$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
18+
"bomFormat": "CycloneDX",
19+
"specVersion": "1.5"
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.5" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
<properties>
7+
<property name="key1">val1</property>
8+
<property name="key2">val2</property>
9+
</properties>
10+
</bom>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"definitions": {
3+
"standards": [
4+
{
5+
"description": "Some description",
6+
"externalReferences": [
7+
{
8+
"type": "website",
9+
"url": "https://cyclonedx.org"
10+
}
11+
],
12+
"name": "Some Standard",
13+
"owner": "Some Owner",
14+
"version": "1.2.3"
15+
}
16+
]
17+
},
18+
"metadata": {
19+
"timestamp": "2023-01-07T13:44:32.312678+00:00"
20+
},
21+
"properties": [
22+
{
23+
"name": "key1",
24+
"value": "val1"
25+
},
26+
{
27+
"name": "key2",
28+
"value": "val2"
29+
}
30+
],
31+
"serialNumber": "urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac",
32+
"version": 1,
33+
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
34+
"bomFormat": "CycloneDX",
35+
"specVersion": "1.6"
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" ?>
2+
<bom xmlns="http://cyclonedx.org/schema/bom/1.6" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
3+
<metadata>
4+
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
5+
</metadata>
6+
<properties>
7+
<property name="key1">val1</property>
8+
<property name="key2">val2</property>
9+
</properties>
10+
<definitions>
11+
<standards>
12+
<standard>
13+
<name>Some Standard</name>
14+
<version>1.2.3</version>
15+
<description>Some description</description>
16+
<owner>Some Owner</owner>
17+
<externalReferences>
18+
<reference type="website">
19+
<url>https://cyclonedx.org</url>
20+
</reference>
21+
</externalReferences>
22+
</standard>
23+
</standards>
24+
</definitions>
25+
</bom>

0 commit comments

Comments
 (0)