aboutsummaryrefslogtreecommitdiff
path: root/utils/verification_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/verification_test.go')
-rw-r--r--utils/verification_test.go165
1 files changed, 165 insertions, 0 deletions
diff --git a/utils/verification_test.go b/utils/verification_test.go
index 3fa4ead..beee8b6 100644
--- a/utils/verification_test.go
+++ b/utils/verification_test.go
@@ -8,6 +8,7 @@ import (
"github.com/spdx/tools-golang/spdx/common"
"github.com/spdx/tools-golang/spdx/v2_1"
"github.com/spdx/tools-golang/spdx/v2_2"
+ "github.com/spdx/tools-golang/spdx/v2_3"
)
// ===== 2.1 Verification code functionality tests =====
@@ -277,3 +278,167 @@ func TestPackage2_2GetVerificationCodeFailsIfNilFileInSlice(t *testing.T) {
t.Fatalf("expected non-nil error, got nil")
}
}
+
+// ===== 2.3 Verification code functionality tests =====
+
+func TestPackage2_3CanGetVerificationCode(t *testing.T) {
+ files := []*v2_3.File{
+ {
+ FileName: "file2.txt",
+ FileSPDXIdentifier: "File0",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file1.txt",
+ FileSPDXIdentifier: "File1",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "3333333333bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file3.txt",
+ FileSPDXIdentifier: "File2",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "8888888888bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file5.txt",
+ FileSPDXIdentifier: "File3",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "2222222222bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file4.txt",
+ FileSPDXIdentifier: "File4",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "bbbbbbbbbbccccccccccddddddddddaaaaaaaaaa",
+ },
+ },
+ },
+ }
+
+ wantCode := common.PackageVerificationCode{Value: "ac924b375119c81c1f08c3e2722044bfbbdcd3dc"}
+
+ gotCode, err := GetVerificationCode2_3(files, "")
+ if err != nil {
+ t.Fatalf("expected nil error, got %v", err)
+ }
+ if wantCode.Value != gotCode.Value {
+ t.Errorf("expected %v, got %v", wantCode, gotCode)
+ }
+
+}
+
+func TestPackage2_3CanGetVerificationCodeIgnoringExcludesFile(t *testing.T) {
+ files := []*v2_3.File{
+ {
+ FileName: "file1.txt",
+ FileSPDXIdentifier: "File0",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file2.txt",
+ FileSPDXIdentifier: "File1",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "3333333333bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "thisfile.spdx",
+ FileSPDXIdentifier: "File2",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "bbbbbbbbbbccccccccccddddddddddaaaaaaaaaa",
+ },
+ },
+ },
+ {
+ FileName: "file3.txt",
+ FileSPDXIdentifier: "File3",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "8888888888bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ {
+ FileName: "file4.txt",
+ FileSPDXIdentifier: "File4",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "2222222222bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ }
+
+ wantCode := common.PackageVerificationCode{Value: "17fab1bd18fe5c13b5d3983f1c17e5f88b8ff266"}
+
+ gotCode, err := GetVerificationCode2_3(files, "thisfile.spdx")
+ if err != nil {
+ t.Fatalf("expected nil error, got %v", err)
+ }
+ if wantCode.Value != gotCode.Value {
+ t.Errorf("expected %v, got %v", wantCode, gotCode)
+ }
+}
+
+func TestPackage2_3GetVerificationCodeFailsIfNilFileInSlice(t *testing.T) {
+ files := []*v2_3.File{
+ {
+ FileName: "file2.txt",
+ FileSPDXIdentifier: "File0",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ nil,
+ {
+ FileName: "file3.txt",
+ FileSPDXIdentifier: "File2",
+ Checksums: []common.Checksum{
+ {
+ Algorithm: common.SHA1,
+ Value: "8888888888bbbbbbbbbbccccccccccdddddddddd",
+ },
+ },
+ },
+ }
+
+ _, err := GetVerificationCode2_3(files, "")
+ if err == nil {
+ t.Fatalf("expected non-nil error, got nil")
+ }
+}