// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later package rdfloader import ( "io" "strings" "testing" ) func TestLoad2_2(t *testing.T) { var reader io.Reader var err error // TestCase 1: invalid rdf/xml must raise an error reader = strings.NewReader("") _, err = Load2_2(reader) if err == nil { t.Errorf("expected an EOF error reading an empty file, got %v", err) } // TestCase 2: Valid rdf/xml but invalid spdx document must raise an error reader = strings.NewReader(` `) _, err = Load2_2(reader) if err == nil { t.Errorf("expected an error due to no SpdxDocument Node in the document") } } func TestLoad2_3(t *testing.T) { var reader io.Reader var err error // TestCase 1: invalid rdf/xml must raise an error reader = strings.NewReader("") _, err = Load2_3(reader) if err == nil { t.Errorf("expected an EOF error reading an empty file, got %v", err) } // TestCase 2: Valid rdf/xml but invalid spdx document must raise an error reader = strings.NewReader(` `) _, err = Load2_3(reader) if err == nil { t.Errorf("expected an error due to no SpdxDocument Node in the document") } // TestCase 3: New SPDX package elements reader = strings.NewReader(` SPDX-2.0 Some-Package 2021-10-15T02:38:00Z 2021-09-15T02:38:00Z 2022-10-15T02:38:00Z `) doc, err := Load2_3(reader) if err != nil { t.Errorf("expected valid SPDX document: %v", err) } if doc == nil { t.Fatalf("expected valid SPDX document but got nil") } if len(doc.Packages) == 0 { t.Errorf("expected packages but got none") } pkg := doc.Packages[0] if pkg.PackageName != "Some-Package" { t.Errorf("expected package nameof Some-Package but got: %s", pkg.PackageName) } if pkg.PrimaryPackagePurpose != "CONTAINER" { t.Errorf("expected package primary purpose of CONTAINER but got: %s", pkg.PrimaryPackagePurpose) } if pkg.ReleaseDate != "2021-10-15T02:38:00Z" { t.Errorf("expected release date of 2021-10-15T02:38:00Z but got: %s", pkg.ReleaseDate) } if pkg.BuiltDate != "2021-09-15T02:38:00Z" { t.Errorf("expected built date of 2021-09-15T02:38:00Z but got: %s", pkg.BuiltDate) } if pkg.ValidUntilDate != "2022-10-15T02:38:00Z" { t.Errorf("expected valid until date of 2022-10-15T02:38:00Z but got: %s", pkg.ValidUntilDate) } }