|
6 | 6 | import pytest
|
7 | 7 |
|
8 | 8 | from spdx_tools.spdx.constants import DOCUMENT_SPDX_ID
|
9 |
| -from spdx_tools.spdx.model import Relationship, RelationshipType |
| 9 | +from spdx_tools.spdx.model import Relationship, RelationshipType, SpdxNoAssertion, SpdxNone |
10 | 10 | from spdx_tools.spdx.parser.error import SPDXParsingError
|
11 | 11 | from spdx_tools.spdx.parser.tagvalue.parser import Parser
|
12 | 12 | from tests.spdx.parser.tagvalue.test_creation_info_parser import DOCUMENT_STR
|
@@ -136,3 +136,29 @@ def test_faulty_license_expression():
|
136 | 136 | "and numbers, underscore, dot, colon or hyphen signs and spaces: "
|
137 | 137 | "'LicenseRef-foo/foo'\"]",
|
138 | 138 | ]
|
| 139 | + |
| 140 | + |
| 141 | +def test_parse_none_or_no_assertion_as_text(): |
| 142 | + parser = Parser() |
| 143 | + document_str = "\n".join( |
| 144 | + [ |
| 145 | + DOCUMENT_STR, |
| 146 | + "PackageName: Test", |
| 147 | + "SPDXID: SPDXRef-Package", |
| 148 | + "PackageDownloadLocation: http://example.com/test", |
| 149 | + "FilesAnalyzed: true", |
| 150 | + "PackageSummary: NONE", |
| 151 | + "PackageSourceInfo: NOASSERTION", |
| 152 | + "PackageLicenseConcluded: NONE", |
| 153 | + "PackageLicenseDeclared: NOASSERTION", |
| 154 | + ] |
| 155 | + ) |
| 156 | + document = parser.parse(document_str) |
| 157 | + assert document is not None |
| 158 | + package = document.packages[0] |
| 159 | + assert package.name == "Test" |
| 160 | + assert package.spdx_id == "SPDXRef-Package" |
| 161 | + assert package.source_info == "NOASSERTION" |
| 162 | + assert package.summary == "NONE" |
| 163 | + assert package.license_concluded == SpdxNone() |
| 164 | + assert package.license_declared == SpdxNoAssertion() |
0 commit comments