From ae78e67710eece172cc8990ced41688777cf4e1e Mon Sep 17 00:00:00 2001 From: Steve Winslow Date: Sun, 8 Nov 2020 13:41:00 -0500 Subject: Fix tvloader storing incorrect doc ID Signed-off-by: Steve Winslow --- tvloader/parser2v1/parse_creation_info.go | 6 +++++- tvloader/parser2v1/parse_creation_info_test.go | 2 +- tvloader/parser2v1/parser_test.go | 5 ++--- tvloader/parser2v2/parse_creation_info.go | 6 +++++- tvloader/parser2v2/parse_creation_info_test.go | 2 +- tvloader/parser2v2/parser_test.go | 4 ++-- 6 files changed, 16 insertions(+), 9 deletions(-) (limited to 'tvloader') diff --git a/tvloader/parser2v1/parse_creation_info.go b/tvloader/parser2v1/parse_creation_info.go index b02b5c0..87997ca 100644 --- a/tvloader/parser2v1/parse_creation_info.go +++ b/tvloader/parser2v1/parse_creation_info.go @@ -26,7 +26,11 @@ func (parser *tvParser2_1) parsePairFromCreationInfo2_1(tag string, value string case "DataLicense": ci.DataLicense = value case "SPDXID": - ci.SPDXIdentifier = spdx.ElementID(value) + eID, err := extractElementID(value) + if err != nil { + return err + } + ci.SPDXIdentifier = eID case "DocumentName": ci.DocumentName = value case "DocumentNamespace": diff --git a/tvloader/parser2v1/parse_creation_info_test.go b/tvloader/parser2v1/parse_creation_info_test.go index f21cfd1..1a11a18 100644 --- a/tvloader/parser2v1/parse_creation_info_test.go +++ b/tvloader/parser2v1/parse_creation_info_test.go @@ -217,7 +217,7 @@ func TestParser2_1CanParseCreationInfoTags(t *testing.T) { if err != nil { t.Errorf("expected nil error, got %v", err) } - if parser.doc.CreationInfo.SPDXIdentifier != "SPDXRef-DOCUMENT" { + if parser.doc.CreationInfo.SPDXIdentifier != "DOCUMENT" { t.Errorf("got %v for SPDXIdentifier", parser.doc.CreationInfo.SPDXIdentifier) } diff --git a/tvloader/parser2v1/parser_test.go b/tvloader/parser2v1/parser_test.go index 543cb8f..4a61828 100644 --- a/tvloader/parser2v1/parser_test.go +++ b/tvloader/parser2v1/parser_test.go @@ -30,8 +30,8 @@ func TestParser2_1CanParseTagValues(t *testing.T) { if doc.CreationInfo.DataLicense != "CC0-1.0" { t.Errorf("expected DataLicense to be CC0-1.0, got %v", doc.CreationInfo.DataLicense) } - if doc.CreationInfo.SPDXIdentifier != "SPDXRef-DOCUMENT" { - t.Errorf("expected SPDXIdentifier to be SPDXRef-DOCUMENT, got %v", doc.CreationInfo.SPDXIdentifier) + if doc.CreationInfo.SPDXIdentifier != "DOCUMENT" { + t.Errorf("expected SPDXIdentifier to be DOCUMENT, got %v", doc.CreationInfo.SPDXIdentifier) } } @@ -77,4 +77,3 @@ func TestParser2_1StartFailsToParseIfInInvalidState(t *testing.T) { t.Errorf("expected non-nil error, got nil") } } - diff --git a/tvloader/parser2v2/parse_creation_info.go b/tvloader/parser2v2/parse_creation_info.go index 9c84404..3f3918e 100644 --- a/tvloader/parser2v2/parse_creation_info.go +++ b/tvloader/parser2v2/parse_creation_info.go @@ -26,7 +26,11 @@ func (parser *tvParser2_2) parsePairFromCreationInfo2_2(tag string, value string case "DataLicense": ci.DataLicense = value case "SPDXID": - ci.SPDXIdentifier = spdx.ElementID(value) + eID, err := extractElementID(value) + if err != nil { + return err + } + ci.SPDXIdentifier = eID case "DocumentName": ci.DocumentName = value case "DocumentNamespace": diff --git a/tvloader/parser2v2/parse_creation_info_test.go b/tvloader/parser2v2/parse_creation_info_test.go index 0be6110..2f48adb 100644 --- a/tvloader/parser2v2/parse_creation_info_test.go +++ b/tvloader/parser2v2/parse_creation_info_test.go @@ -217,7 +217,7 @@ func TestParser2_2CanParseCreationInfoTags(t *testing.T) { if err != nil { t.Errorf("expected nil error, got %v", err) } - if parser.doc.CreationInfo.SPDXIdentifier != "SPDXRef-DOCUMENT" { + if parser.doc.CreationInfo.SPDXIdentifier != "DOCUMENT" { t.Errorf("got %v for SPDXIdentifier", parser.doc.CreationInfo.SPDXIdentifier) } diff --git a/tvloader/parser2v2/parser_test.go b/tvloader/parser2v2/parser_test.go index a2de032..7eec49c 100644 --- a/tvloader/parser2v2/parser_test.go +++ b/tvloader/parser2v2/parser_test.go @@ -30,8 +30,8 @@ func TestParser2_2CanParseTagValues(t *testing.T) { if doc.CreationInfo.DataLicense != "CC0-1.0" { t.Errorf("expected DataLicense to be CC0-1.0, got %v", doc.CreationInfo.DataLicense) } - if doc.CreationInfo.SPDXIdentifier != "SPDXRef-DOCUMENT" { - t.Errorf("expected SPDXIdentifier to be SPDXRef-DOCUMENT, got %v", doc.CreationInfo.SPDXIdentifier) + if doc.CreationInfo.SPDXIdentifier != "DOCUMENT" { + t.Errorf("expected SPDXIdentifier to be DOCUMENT, got %v", doc.CreationInfo.SPDXIdentifier) } } -- cgit v1.2.3