Skip to content

Commit d5aabcf

Browse files
committed
test: added test to confirm no Vulnerabilities are output for Schema Version 1.0 (not supported by schema)
Signed-off-by: Paul Horton <[email protected]>
1 parent 8b4034d commit d5aabcf

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

tests/test_output_xml.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def test_simple_bom_v1_3_with_vulnerabilities(self):
8080
severity=VulnerabilitySeverity.CRITICAL, method=VulnerabilitySourceType.CVSS_V3,
8181
vector='AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'),
8282
VulnerabilityRating(severity=VulnerabilitySeverity.LOW, method=VulnerabilitySourceType.OWASP,
83-
vector='OWASP/K9:M1:O0:Z2/D1:X1:W1:L3/C2:I1:A1:T1/F1:R1:S2:P3/50',)
83+
vector='OWASP/K9:M1:O0:Z2/D1:X1:W1:L3/C2:I1:A1:T1/F1:R1:S2:P3/50', )
8484
],
8585
cwes=[123, 456], description='A description here', recommendations=['Upgrade'],
8686
advisories=[
@@ -96,3 +96,30 @@ def test_simple_bom_v1_3_with_vulnerabilities(self):
9696
namespace=outputter.get_target_namespace())
9797

9898
expected_xml.close()
99+
100+
def test_simple_bom_v1_0_with_vulnerabilities(self):
101+
bom = Bom()
102+
c = Component(name='setuptools', version='50.3.2', qualifiers='extension=tar.gz')
103+
c.add_vulnerability(Vulnerability(
104+
id='CVE-2018-7489', source_name='NVD', source_url='https://nvd.nist.gov/vuln/detail/CVE-2018-7489',
105+
ratings=[
106+
VulnerabilityRating(score_base=9.8, score_impact=5.9, score_exploitability=3.0,
107+
severity=VulnerabilitySeverity.CRITICAL, method=VulnerabilitySourceType.CVSS_V3,
108+
vector='AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'),
109+
VulnerabilityRating(severity=VulnerabilitySeverity.LOW, method=VulnerabilitySourceType.OWASP,
110+
vector='OWASP/K9:M1:O0:Z2/D1:X1:W1:L3/C2:I1:A1:T1/F1:R1:S2:P3/50', )
111+
],
112+
cwes=[123, 456], description='A description here', recommendations=['Upgrade'],
113+
advisories=[
114+
'http://www.securityfocus.com/bid/103203',
115+
'http://www.securitytracker.com/id/1040693'
116+
]
117+
))
118+
bom.add_component(c)
119+
outputter: Xml = get_instance(bom=bom, schema_version=SchemaVersion.V1_0)
120+
self.assertIsInstance(outputter, XmlV1Dot0)
121+
with open(join(dirname(__file__), 'fixtures/bom_v1.0_setuptools.xml')) as expected_xml:
122+
self.assertEqualXmlBom(a=outputter.output_as_string(), b=expected_xml.read(),
123+
namespace=outputter.get_target_namespace())
124+
125+
expected_xml.close()

0 commit comments

Comments
 (0)