Files
attest/pkg/tuf/mock.go

51 lines
906 B
Go
Raw Permalink Normal View History

2024-04-15 15:20:56 -05:00
package tuf
2024-08-28 16:13:06 -05:00
import (
"io"
"os"
"path/filepath"
"github.com/docker/attest/internal/util"
)
type MockTufClient struct {
srcPath string
}
2024-08-29 08:25:42 -05:00
func NewMockTufClient(srcPath string) *MockTufClient {
2024-08-28 16:13:06 -05:00
if srcPath == "" {
panic("srcPath must be set")
}
return &MockTufClient{
srcPath: srcPath,
}
}
2024-08-29 08:25:42 -05:00
func (dc *MockTufClient) DownloadTarget(target string, _ string) (file *TargetFile, err error) {
2024-08-28 16:13:06 -05:00
targetPath := filepath.Join(dc.srcPath, target)
src, err := os.Open(targetPath)
if err != nil {
return nil, err
}
defer src.Close()
2024-08-29 08:25:42 -05:00
b, err := io.ReadAll(src)
2024-08-28 16:13:06 -05:00
if err != nil {
return nil, err
}
2024-08-29 08:25:42 -05:00
return &TargetFile{TargetURI: targetPath, Data: b, Digest: util.SHA256Hex(b)}, nil
2024-08-28 16:13:06 -05:00
}
type MockVersionChecker struct {
err error
}
func NewMockVersionChecker() *MockVersionChecker {
return &MockVersionChecker{}
}
func (vc *MockVersionChecker) CheckVersion(_ Downloader) error {
return vc.err
}