MCPcopy Create free account
hub / github.com/chainloop-dev/chainloop / TestUpload

Method TestUpload

pkg/blobmanager/oci/backend_test.go:41–65  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

39)
40
41func (s *testSuite) TestUpload() {
42 s.T().Run("invalid repo", func(t *testing.T) {
43 b, err := NewBackend("bogus-registry", &RegistryOptions{})
44 require.NoError(s.T(), err)
45 err = b.Upload(context.TODO(), bytes.NewBuffer(s.uploadedContent), s.casResource)
46 assert.Error(s.T(), err)
47 })
48
49 s.T().Run("empty content", func(t *testing.T) {
50 err := s.validBackend.Upload(context.TODO(), bytes.NewBuffer(nil), s.casResource)
51 assert.Error(s.T(), err)
52 assert.ErrorContains(s.T(), err, "content is empty")
53 })
54
55 s.T().Run("digest mistmatch", func(t *testing.T) {
56 r := &pb.CASResource{Digest: "sha256:deadbeef", FileName: "test.txt"}
57 err := s.validBackend.Upload(context.TODO(), bytes.NewBuffer(s.uploadedContent), r)
58 assert.ErrorContains(s.T(), err, "layer digest does not match")
59 })
60
61 s.T().Run("success", func(t *testing.T) {
62 err := s.validBackend.Upload(context.TODO(), bytes.NewBuffer(s.uploadedContent), s.casResource)
63 assert.NoError(s.T(), err)
64 })
65}
66
67func (s *testSuite) TestNewBackend() {
68 testCases := []struct {

Callers

nothing calls this directly

Calls 5

UploadMethod · 0.95
NewBackendFunction · 0.70
ErrorMethod · 0.65
UploadMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected