Skip to content

Commit

Permalink
Use consts from go-tuf
Browse files Browse the repository at this point in the history
Signed-off-by: Cody Soyland <codysoyland@github.com>
  • Loading branch information
codysoyland committed Feb 6, 2024
1 parent 4ac2b31 commit 72edefd
Showing 1 changed file with 22 additions and 29 deletions.
51 changes: 22 additions & 29 deletions pkg/tuf/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,6 @@ type testrepo struct {
dir string
}

const (
tufRoot = "root"
tufTargets = "targets"
tufSnapshot = "snapshot"
tufTimestamp = "timestamp"
)

func (r *testrepo) DownloadFile(urlPath string, _ int64, _ time.Duration) ([]byte, error) {
u, err := url.Parse(urlPath)
if err != nil {
Expand All @@ -113,20 +106,20 @@ func (r *testrepo) DownloadFile(urlPath string, _ int64, _ time.Duration) ([]byt
return []byte{}, metadata.ErrDownload{}
}
switch role {
case tufRoot:
case metadata.ROOT:
meta := r.roles.Root()
if meta.Signed.Version != int64(version) {
return []byte{}, metadata.ErrDownloadHTTP{StatusCode: 404}
}
return meta.ToBytes(false)
case tufSnapshot:
case metadata.SNAPSHOT:
meta := r.roles.Snapshot()
if meta.Signed.Version != int64(version) {
return []byte{}, metadata.ErrDownloadHTTP{StatusCode: 404}
}
return meta.ToBytes(false)
case tufTargets:
meta := r.roles.Targets(tufTargets)
case metadata.TARGETS:
meta := r.roles.Targets(metadata.TARGETS)
if meta.Signed.Version != int64(version) {
return []byte{}, metadata.ErrDownloadHTTP{StatusCode: 404}
}
Expand All @@ -144,19 +137,19 @@ func genTestRepo(t *testing.T) *testrepo {
roles: repository.New(),
}
targets := metadata.Targets(helperExpireIn(7))
r.roles.SetTargets(tufTargets, targets)
r.roles.SetTargets(metadata.TARGETS, targets)
r.dir, err = os.MkdirTemp("", "tuf-test-repo")
if err != nil {
t.Fatal(err)
}
err = os.Mkdir(filepath.Join(r.dir, tufTargets), 0700)
err = os.Mkdir(filepath.Join(r.dir, metadata.TARGETS), 0700)
if err != nil {
t.Fatal(err)
}
targetPath := "foo"
targetContent := []byte("foo 1")
targetHash := sha256.Sum256(targetContent)
localPath := filepath.Join(r.dir, tufTargets, fmt.Sprintf("%x.%s", targetHash, targetPath))
localPath := filepath.Join(r.dir, metadata.TARGETS, fmt.Sprintf("%x.%s", targetHash, targetPath))
err = os.WriteFile(localPath, targetContent, 0600)
if err != nil {
t.Fatal(err)
Expand All @@ -165,15 +158,15 @@ func genTestRepo(t *testing.T) *testrepo {
if err != nil {
t.Fatal(err)
}
r.roles.Targets(tufTargets).Signed.Targets[targetPath] = targetFileInfo
r.roles.Targets(metadata.TARGETS).Signed.Targets[targetPath] = targetFileInfo
snapshot := metadata.Snapshot(helperExpireIn(7))
r.roles.SetSnapshot(snapshot)
timestamp := metadata.Timestamp(helperExpireIn(1))
r.roles.SetTimestamp(timestamp)
root := metadata.Root(helperExpireIn(365))
r.roles.SetRoot(root)

for _, name := range []string{tufTargets, tufSnapshot, tufTimestamp, tufRoot} {
for _, name := range []string{metadata.TARGETS, metadata.SNAPSHOT, metadata.TIMESTAMP, metadata.ROOT} {
_, private, err := ed25519.GenerateKey(nil)
if err != nil {
t.Fatal(err)
Expand All @@ -189,39 +182,39 @@ func genTestRepo(t *testing.T) *testrepo {
}
}

for _, name := range []string{tufTargets, tufSnapshot, tufTimestamp, tufRoot} {
for _, name := range metadata.TOP_LEVEL_ROLE_NAMES {
key := r.keys[name]
signer, err := signature.LoadSigner(key, crypto.Hash(0))
if err != nil {
t.Fatal(err)
}
switch name {
case tufTargets:
_, err = r.roles.Targets(tufTargets).Sign(signer)
case tufSnapshot:
case metadata.TARGETS:
_, err = r.roles.Targets(metadata.TARGETS).Sign(signer)
case metadata.SNAPSHOT:
_, err = r.roles.Snapshot().Sign(signer)
case tufTimestamp:
case metadata.TIMESTAMP:
_, err = r.roles.Timestamp().Sign(signer)
case tufRoot:
case metadata.ROOT:
_, err = r.roles.Root().Sign(signer)
}
if err != nil {
t.Fatal(err)
}
}

for _, name := range []string{tufTargets, tufSnapshot, tufTimestamp, tufRoot} {
for _, name := range metadata.TOP_LEVEL_ROLE_NAMES {
switch name {
case tufTargets:
filename := fmt.Sprintf("%d.%s.json", r.roles.Targets(tufTargets).Signed.Version, name)
err = r.roles.Targets(tufTargets).ToFile(filepath.Join(r.dir, filename), true)
case tufSnapshot:
case metadata.TARGETS:
filename := fmt.Sprintf("%d.%s.json", r.roles.Targets(metadata.TARGETS).Signed.Version, name)
err = r.roles.Targets(metadata.TARGETS).ToFile(filepath.Join(r.dir, filename), true)
case metadata.SNAPSHOT:
filename := fmt.Sprintf("%d.%s.json", r.roles.Snapshot().Signed.Version, name)
err = r.roles.Snapshot().ToFile(filepath.Join(r.dir, filename), true)
case tufTimestamp:
case metadata.TIMESTAMP:
filename := fmt.Sprintf("%s.json", name)
err = r.roles.Timestamp().ToFile(filepath.Join(r.dir, filename), true)
case tufRoot:
case metadata.ROOT:
filename := fmt.Sprintf("%d.%s.json", r.roles.Root().Signed.Version, name)
err = r.roles.Root().ToFile(filepath.Join(r.dir, filename), true)
}
Expand Down

0 comments on commit 72edefd

Please sign in to comment.