diff options
Diffstat (limited to 'tvloader/parser2v2/parser_test.go')
-rw-r--r-- | tvloader/parser2v2/parser_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tvloader/parser2v2/parser_test.go b/tvloader/parser2v2/parser_test.go index 7eec49c..4cd5228 100644 --- a/tvloader/parser2v2/parser_test.go +++ b/tvloader/parser2v2/parser_test.go @@ -77,3 +77,33 @@ func TestParser2_2StartFailsToParseIfInInvalidState(t *testing.T) { t.Errorf("expected non-nil error, got nil") } } + +func TestParser2_2FilesWithoutSpdxIdThrowErrorAtCompleteParse(t *testing.T) { + // case: Checks the last file + // Last unpackaged file with no packages in doc + // Last file of last package in the doc + tvPairs := []reader.TagValuePair{ + {Tag: "SPDXVersion", Value: "SPDX-2.2"}, + {Tag: "DataLicense", Value: "CC0-1.0"}, + {Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"}, + {Tag: "FileName", Value: "f1"}, + } + _, err := ParseTagValues(tvPairs) + if err == nil { + t.Errorf("file without SPDX Identifier getting accepted") + } +} + +func TestParser2_2PackageWithoutSpdxIdThrowErrorAtCompleteParse(t *testing.T) { + // case: Checks the last package + tvPairs := []reader.TagValuePair{ + {Tag: "SPDXVersion", Value: "SPDX-2.2"}, + {Tag: "DataLicense", Value: "CC0-1.0"}, + {Tag: "SPDXID", Value: "SPDXRef-DOCUMENT"}, + {Tag: "PackageName", Value: "p1"}, + } + _, err := ParseTagValues(tvPairs) + if err == nil { + t.Errorf("package without SPDX Identifier getting accepted") + } +} |