48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package toc
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestGetTOCDigest(t *testing.T) {
|
|
t.Run("ValidTOCDigestAnnotation", func(t *testing.T) {
|
|
expectedDigest := "sha256:8bc94b65d0b3ae8998cc0405a424ee7c3a04c72996f99eda9670374832dc9667"
|
|
annotations := map[string]string{
|
|
tocJSONDigestAnnotation: expectedDigest,
|
|
}
|
|
|
|
digestPtr, err := GetTOCDigest(annotations)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if digestPtr == nil {
|
|
t.Errorf("Expected a non-nil digest pointer")
|
|
} else if digestPtr.String() != expectedDigest {
|
|
t.Errorf("Expected digest %s, but got %s", expectedDigest, digestPtr.String())
|
|
}
|
|
})
|
|
|
|
t.Run("InvalidTOCDigestAnnotation", func(t *testing.T) {
|
|
annotations := map[string]string{
|
|
tocJSONDigestAnnotation: "invalid-checksum",
|
|
}
|
|
|
|
_, err := GetTOCDigest(annotations)
|
|
if err == nil {
|
|
t.Fatal("Expected error")
|
|
}
|
|
})
|
|
|
|
t.Run("NoValidAnnotations", func(t *testing.T) {
|
|
annotations := map[string]string{}
|
|
|
|
digestPtr, err := GetTOCDigest(annotations)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if digestPtr != nil {
|
|
t.Errorf("Expected nil digest pointer, but got %s", digestPtr.String())
|
|
}
|
|
})
|
|
}
|