diff options
author | Ian Ling <ian@iancaling.com> | 2022-04-08 08:52:57 -0700 |
---|---|---|
committer | Ian Ling <ian@iancaling.com> | 2022-04-25 15:00:47 -0700 |
commit | 460cf54ece7eba418c50407ee35544c5d63588a7 (patch) | |
tree | 07ec7aaf51a92a1ae209e540f45241f990561919 /spdxlib | |
parent | fa24fac85dd550a3f815896241081a1246810d2c (diff) | |
download | spdx-tools-460cf54ece7eba418c50407ee35544c5d63588a7.tar.gz |
Overhaul structs, refactor JSON parser and saver
Signed-off-by: Ian Ling <ian@iancaling.com>
Diffstat (limited to 'spdxlib')
-rw-r--r-- | spdxlib/described_elements.go | 8 | ||||
-rw-r--r-- | spdxlib/described_elements_test.go | 180 | ||||
-rw-r--r-- | spdxlib/documents.go | 4 | ||||
-rw-r--r-- | spdxlib/documents_test.go | 76 | ||||
-rw-r--r-- | spdxlib/relationships_test.go | 42 |
5 files changed, 146 insertions, 164 deletions
diff --git a/spdxlib/described_elements.go b/spdxlib/described_elements.go index e8373da..21d8e7e 100644 --- a/spdxlib/described_elements.go +++ b/spdxlib/described_elements.go @@ -23,8 +23,8 @@ func GetDescribedPackageIDs2_1(doc *spdx.Document2_1) ([]spdx.ElementID, error) } if len(doc.Packages) == 1 { // get first (only) one and return its ID - for i := range doc.Packages { - return []spdx.ElementID{i}, nil + for _, pkg := range doc.Packages { + return []spdx.ElementID{pkg.PackageSPDXIdentifier}, nil } } @@ -74,8 +74,8 @@ func GetDescribedPackageIDs2_2(doc *spdx.Document2_2) ([]spdx.ElementID, error) } if len(doc.Packages) == 1 { // get first (only) one and return its ID - for i := range doc.Packages { - return []spdx.ElementID{i}, nil + for _, pkg := range doc.Packages { + return []spdx.ElementID{pkg.PackageSPDXIdentifier}, nil } } diff --git a/spdxlib/described_elements_test.go b/spdxlib/described_elements_test.go index 32fa726..4c2a1a1 100644 --- a/spdxlib/described_elements_test.go +++ b/spdxlib/described_elements_test.go @@ -13,17 +13,16 @@ import ( func Test2_1CanGetIDsOfDescribedPackages(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): &spdx.Package2_1{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_1{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): &spdx.Package2_1{PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): &spdx.Package2_1{PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): &spdx.Package2_1{PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_1{ &spdx.Relationship2_1{ @@ -75,13 +74,12 @@ func Test2_1GetDescribedPackagesReturnsSinglePackageIfOnlyOne(t *testing.T) { // set up document and one package, but no relationships // b/c only one package doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): &spdx.Package2_1{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, }, } @@ -102,17 +100,16 @@ func Test2_1GetDescribedPackagesReturnsSinglePackageIfOnlyOne(t *testing.T) { func Test2_1FailsToGetDescribedPackagesIfMoreThanOneWithoutDescribesRelationship(t *testing.T) { // set up document and multiple packages, but no DESCRIBES relationships doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): &spdx.Package2_1{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_1{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): &spdx.Package2_1{PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): &spdx.Package2_1{PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): &spdx.Package2_1{PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_1{ // different relationship @@ -133,14 +130,13 @@ func Test2_1FailsToGetDescribedPackagesIfMoreThanOneWithoutDescribesRelationship func Test2_1FailsToGetDescribedPackagesIfMoreThanOneWithNilRelationships(t *testing.T) { // set up document and multiple packages, but no relationships slice doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): &spdx.Package2_1{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_1{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, }, } @@ -153,12 +149,11 @@ func Test2_1FailsToGetDescribedPackagesIfMoreThanOneWithNilRelationships(t *test func Test2_1FailsToGetDescribedPackagesIfZeroPackagesInMap(t *testing.T) { // set up document but no packages doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{}, } _, err := GetDescribedPackageIDs2_1(doc) @@ -170,11 +165,10 @@ func Test2_1FailsToGetDescribedPackagesIfZeroPackagesInMap(t *testing.T) { func Test2_1FailsToGetDescribedPackagesIfNilMap(t *testing.T) { // set up document but no packages doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, } _, err := GetDescribedPackageIDs2_1(doc) @@ -188,17 +182,16 @@ func Test2_1FailsToGetDescribedPackagesIfNilMap(t *testing.T) { func Test2_2CanGetIDsOfDescribedPackages(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): &spdx.Package2_2{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_2{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): &spdx.Package2_2{PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): &spdx.Package2_2{PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): &spdx.Package2_2{PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_2{ &spdx.Relationship2_2{ @@ -250,13 +243,12 @@ func Test2_2GetDescribedPackagesReturnsSinglePackageIfOnlyOne(t *testing.T) { // set up document and one package, but no relationships // b/c only one package doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): &spdx.Package2_2{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, }, } @@ -277,17 +269,16 @@ func Test2_2GetDescribedPackagesReturnsSinglePackageIfOnlyOne(t *testing.T) { func Test2_2FailsToGetDescribedPackagesIfMoreThanOneWithoutDescribesRelationship(t *testing.T) { // set up document and multiple packages, but no DESCRIBES relationships doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): &spdx.Package2_2{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_2{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): &spdx.Package2_2{PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): &spdx.Package2_2{PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): &spdx.Package2_2{PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_2{ // different relationship @@ -308,14 +299,13 @@ func Test2_2FailsToGetDescribedPackagesIfMoreThanOneWithoutDescribesRelationship func Test2_2FailsToGetDescribedPackagesIfMoreThanOneWithNilRelationships(t *testing.T) { // set up document and multiple packages, but no relationships slice doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): &spdx.Package2_2{PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): &spdx.Package2_2{PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, }, } @@ -328,12 +318,11 @@ func Test2_2FailsToGetDescribedPackagesIfMoreThanOneWithNilRelationships(t *test func Test2_2FailsToGetDescribedPackagesIfZeroPackagesInMap(t *testing.T) { // set up document but no packages doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{}, } _, err := GetDescribedPackageIDs2_2(doc) @@ -345,11 +334,10 @@ func Test2_2FailsToGetDescribedPackagesIfZeroPackagesInMap(t *testing.T) { func Test2_2FailsToGetDescribedPackagesIfNilMap(t *testing.T) { // set up document but no packages doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, } _, err := GetDescribedPackageIDs2_2(doc) diff --git a/spdxlib/documents.go b/spdxlib/documents.go index bd689e7..1f7122a 100644 --- a/spdxlib/documents.go +++ b/spdxlib/documents.go @@ -16,7 +16,7 @@ func ValidateDocument2_1(doc *spdx.Document2_1) error { validElementIDs[docPackage.PackageSPDXIdentifier] = true } - for _, unpackagedFile := range doc.UnpackagedFiles { + for _, unpackagedFile := range doc.Files { validElementIDs[unpackagedFile.FileSPDXIdentifier] = true } @@ -46,7 +46,7 @@ func ValidateDocument2_2(doc *spdx.Document2_2) error { validElementIDs[docPackage.PackageSPDXIdentifier] = true } - for _, unpackagedFile := range doc.UnpackagedFiles { + for _, unpackagedFile := range doc.Files { validElementIDs[unpackagedFile.FileSPDXIdentifier] = true } diff --git a/spdxlib/documents_test.go b/spdxlib/documents_test.go index 60a39b9..aa1f6c3 100644 --- a/spdxlib/documents_test.go +++ b/spdxlib/documents_test.go @@ -13,17 +13,16 @@ import ( func Test2_1ValidDocumentPassesValidation(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_1{ { @@ -60,15 +59,14 @@ func Test2_1ValidDocumentPassesValidation(t *testing.T) { func Test2_1InvalidDocumentFailsValidation(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, }, Relationships: []*spdx.Relationship2_1{ { @@ -101,17 +99,16 @@ func Test2_1InvalidDocumentFailsValidation(t *testing.T) { func Test2_2ValidDocumentPassesValidation(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_2{ { @@ -148,15 +145,14 @@ func Test2_2ValidDocumentPassesValidation(t *testing.T) { func Test2_2InvalidDocumentFailsValidation(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, }, Relationships: []*spdx.Relationship2_2{ { diff --git a/spdxlib/relationships_test.go b/spdxlib/relationships_test.go index 3c0ef24..e710d6e 100644 --- a/spdxlib/relationships_test.go +++ b/spdxlib/relationships_test.go @@ -13,17 +13,16 @@ import ( func Test2_1FilterForDependencies(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_1{ - CreationInfo: &spdx.CreationInfo2_1{ - SPDXVersion: "SPDX-2.1", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_1{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.1", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_1{}, + Packages: []*spdx.Package2_1{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_1{ { @@ -82,17 +81,16 @@ func Test2_1FilterForDependencies(t *testing.T) { func Test2_2FindsDependsOnRelationships(t *testing.T) { // set up document and some packages and relationships doc := &spdx.Document2_2{ - CreationInfo: &spdx.CreationInfo2_2{ - SPDXVersion: "SPDX-2.2", - DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), - }, - Packages: map[spdx.ElementID]*spdx.Package2_2{ - spdx.ElementID("p1"): {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, - spdx.ElementID("p2"): {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, - spdx.ElementID("p3"): {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, - spdx.ElementID("p4"): {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, - spdx.ElementID("p5"): {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, + SPDXVersion: "SPDX-2.2", + DataLicense: "CC0-1.0", + SPDXIdentifier: spdx.ElementID("DOCUMENT"), + CreationInfo: &spdx.CreationInfo2_2{}, + Packages: []*spdx.Package2_2{ + {PackageName: "pkg1", PackageSPDXIdentifier: "p1"}, + {PackageName: "pkg2", PackageSPDXIdentifier: "p2"}, + {PackageName: "pkg3", PackageSPDXIdentifier: "p3"}, + {PackageName: "pkg4", PackageSPDXIdentifier: "p4"}, + {PackageName: "pkg5", PackageSPDXIdentifier: "p5"}, }, Relationships: []*spdx.Relationship2_2{ { |