// 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)
}
}