Skip to content

Commit

Permalink
fix: improve test coverage
Browse files Browse the repository at this point in the history
Signed-off-by: Junjie Gao <junjiegao@microsoft.com>
  • Loading branch information
JeyJeyGao committed Apr 10, 2024
1 parent 8e98706 commit 584ea42
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions internal/envelope/envelope_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ package envelope

import (
"testing"

"github.com/notaryproject/notation-core-go/signature"
)

func TestGetEnvelopeMediaType(t *testing.T) {
Expand Down Expand Up @@ -59,3 +61,77 @@ func TestGetEnvelopeMediaType(t *testing.T) {
})
}
}

func TestValidatePayloadContentType(t *testing.T) {
tests := []struct {
name string
payload *signature.Payload
wantErr bool
}{
{
name: "valid content type",
payload: &signature.Payload{
ContentType: MediaTypePayloadV1,
},
wantErr: false,
},
{
name: "invalid content type",
payload: &signature.Payload{
ContentType: "invalid",
},
wantErr: true,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ValidatePayloadContentType(tt.payload)
if (err != nil) != tt.wantErr {
t.Errorf("ValidatePayloadContentType() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}

func TestDescriptorFromSignaturePayload(t *testing.T) {
validPayload := &signature.Payload{
ContentType: MediaTypePayloadV1,
Content: []byte(`{"targetArtifact": {"mediaType": "application/vnd.oci.image.manifest.v1+json", "size": 314159, "digest": "sha256:abcd1234", "urls": ["http://example.com"]}}`),
}
invalidPayload := &signature.Payload{
ContentType: "invalid",
Content: []byte(`invalid`),
}

tests := []struct {
name string
payload *signature.Payload
wantErr bool
}{
{
name: "valid payload",
payload: validPayload,
wantErr: false,
},
{
name: "invalid content type",
payload: invalidPayload,
wantErr: true,
},
{
name: "nil payload",
payload: nil,
wantErr: true,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_, err := DescriptorFromSignaturePayload(tt.payload)
if (err != nil) != tt.wantErr {
t.Errorf("DescriptorFromSignaturePayload() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}

0 comments on commit 584ea42

Please # to comment.