diff --git a/pkg/cmd/attestation/api/client_test.go b/pkg/cmd/attestation/api/client_test.go index fb3b338bf..9e47870cf 100644 --- a/pkg/cmd/attestation/api/client_test.go +++ b/pkg/cmd/attestation/api/client_test.go @@ -25,6 +25,9 @@ func NewClientWithMockGHClient(hasNextPage bool) Client { githubAPI: mockAPIClient{ OnRESTWithNext: fetcher.OnRESTSuccessWithNextPage, }, + httpClient: mockHttpClient{ + OnGet: fetcher.OnGetSuccess, + }, logger: l, } } @@ -33,6 +36,9 @@ func NewClientWithMockGHClient(hasNextPage bool) Client { githubAPI: mockAPIClient{ OnRESTWithNext: fetcher.OnRESTSuccess, }, + httpClient: mockHttpClient{ + OnGet: fetcher.OnGetSuccess, + }, logger: l, } } diff --git a/pkg/cmd/attestation/api/mock_client.go b/pkg/cmd/attestation/api/mock_client.go index bcb51c414..b2fd334c0 100644 --- a/pkg/cmd/attestation/api/mock_client.go +++ b/pkg/cmd/attestation/api/mock_client.go @@ -25,7 +25,7 @@ func (m MockClient) GetTrustDomain() (string, error) { } func makeTestAttestation() Attestation { - return Attestation{Bundle: data.SigstoreBundle(nil)} + return Attestation{Bundle: data.SigstoreBundle(nil), BundleURL: "https://example.com"} } func OnGetByRepoAndDigestSuccess(repo, digest string, limit int) ([]*Attestation, error) { diff --git a/pkg/cmd/attestation/api/mock_apiClient_test.go b/pkg/cmd/attestation/api/mock_githubApiClient_test.go similarity index 100% rename from pkg/cmd/attestation/api/mock_apiClient_test.go rename to pkg/cmd/attestation/api/mock_githubApiClient_test.go diff --git a/pkg/cmd/attestation/api/mock_httpClient_test.go b/pkg/cmd/attestation/api/mock_httpClient_test.go new file mode 100644 index 000000000..70eceeea5 --- /dev/null +++ b/pkg/cmd/attestation/api/mock_httpClient_test.go @@ -0,0 +1,25 @@ +package api + +import ( + "io" + "net/http" + "strings" + + "github.com/cli/cli/v2/pkg/cmd/attestation/test/data" +) + +type mockHttpClient struct { + OnGet func(url string) (*http.Response, error) +} + +func (m mockHttpClient) Get(url string) (*http.Response, error) { + return m.OnGet(url) +} + +func (m *mockDataGenerator) OnGetSuccess(url string) (*http.Response, error) { + bundle := data.SigstoreBundle(nil) + return &http.Response{ + StatusCode: 200, + Body: io.NopCloser(strings.NewReader(bundle.String())), + }, nil +}