Skip to content

Commit

Permalink
fix: adds TSA URI for customMetadata. (#1646)
Browse files Browse the repository at this point in the history
* fix: adds TUF URI for customMetadata.

Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>

* fix: adds tuf to usage_type_test.go.

Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>

---------

Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
  • Loading branch information
ianhundere committed Feb 27, 2024
1 parent 0bfcc5b commit 2cbe097
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
1 change: 1 addition & 0 deletions pkg/tuf/client.go
Expand Up @@ -116,6 +116,7 @@ type TargetFile struct {
type customMetadata struct {
Usage UsageKind `json:"usage"`
Status StatusKind `json:"status"`
URI string `json:"uri"`
}

type sigstoreCustomMetadata struct {
Expand Down
4 changes: 4 additions & 0 deletions pkg/tuf/usage_type.go
Expand Up @@ -26,13 +26,15 @@ const (
Fulcio
Rekor
CTFE
TSA
)

var toUsageString = map[UsageKind]string{
UnknownUsage: "Unknown",
Fulcio: "Fulcio",
Rekor: "Rekor",
CTFE: "CTFE",
TSA: "TSA",
}

func (u UsageKind) String() string {
Expand All @@ -57,6 +59,8 @@ func (u *UsageKind) UnmarshalText(text []byte) error {
*u = Rekor
case "ctfe":
*u = CTFE
case "tsa":
*u = TSA
default:
return fmt.Errorf("error while unmarshalling, UsageKind=%v not valid", string(text))
}
Expand Down
16 changes: 8 additions & 8 deletions pkg/tuf/usage_type_test.go
Expand Up @@ -23,12 +23,12 @@ import (
)

func TestMarshalUsageType(t *testing.T) {
usages := []UsageKind{UnknownUsage, Fulcio, Rekor, CTFE}
usages := []UsageKind{UnknownUsage, Fulcio, Rekor, CTFE, TSA}
bytes, err := json.Marshal(usages)
if err != nil {
t.Fatalf("expected no error marshalling struct, got: %v", err)
}
expected := `["Unknown","Fulcio","Rekor","CTFE"]`
expected := `["Unknown","Fulcio","Rekor","CTFE","TSA"]`
if string(bytes) != expected {
t.Fatalf("error while marshalling, expected: %s, got: %s", expected, bytes)
}
Expand All @@ -49,26 +49,26 @@ func TestMarshalInvalidUsageType(t *testing.T) {

func TestUnmarshalUsageType(t *testing.T) {
var usages []UsageKind
j := json.RawMessage(`["fulcio", "rekor", "ctfe", "unknown"]`)
j := json.RawMessage(`["fulcio", "rekor", "ctfe", "tsa", "unknown"]`)
err := json.Unmarshal(j, &usages)
if err != nil {
t.Fatalf("expected no error unmarshalling struct, got: %v", err)
}
if !reflect.DeepEqual(usages, []UsageKind{Fulcio, Rekor, CTFE, UnknownUsage}) {
t.Fatalf("expected [Fulcio, Rekor, CTFE, UnknownUsage], got: %v", usages)
if !reflect.DeepEqual(usages, []UsageKind{Fulcio, Rekor, CTFE, TSA, UnknownUsage}) {
t.Fatalf("expected [Fulcio, Rekor, CTFE, ,TSA, UnknownUsage], got: %v", usages)
}
}

func TestUnmarshalUsageTypeCapitalization(t *testing.T) {
// Any capitalization is allowed.
var usages []UsageKind
j := json.RawMessage(`["fUlCiO", "rEkOr", "cTfE", "uNkNoWn"]`)
j := json.RawMessage(`["fUlCiO", "rEkOr", "cTfE", "tSa", "uNkNoWn"]`)
err := json.Unmarshal(j, &usages)
if err != nil {
t.Fatalf("expected no error unmarshalling struct, got: %v", err)
}
if !reflect.DeepEqual(usages, []UsageKind{Fulcio, Rekor, CTFE, UnknownUsage}) {
t.Fatalf("expected [Fulcio, Rekor, CTFE, UnknownUsage], got: %v", usages)
if !reflect.DeepEqual(usages, []UsageKind{Fulcio, Rekor, CTFE, TSA, UnknownUsage}) {
t.Fatalf("expected [Fulcio, Rekor, CTFE, TSA, UnknownUsage], got: %v", usages)
}
}

Expand Down

0 comments on commit 2cbe097

Please sign in to comment.