@@ -34,44 +34,40 @@ import (
3434 "github.com/stretchr/testify/suite"
3535)
3636
37+ var runID = uuid .NewString ()
38+ var envelope = & dsse.Envelope {}
39+
40+ const expectedDigest = "f845058d865c3d4d491c9019f6afe9c543ad2cd11b31620cc512e341fb03d3d8"
41+
3742// Deprecated method
3843func (s * attestationTestSuite ) TestUploadToCASFallbackOCI () {
39- runID := uuid .NewString ()
40- envelope := & dsse.Envelope {}
41- const expectedDigest = "f845058d865c3d4d491c9019f6afe9c543ad2cd11b31620cc512e341fb03d3d8"
42-
4344 ctx := context .Background ()
4445 s .uploader .On ("Upload" , ctx , mock .Anything , & casAPI.CASResource {
4546 FileName : fmt .Sprintf ("attestation-%s.json" , runID ), Digest : expectedDigest ,
4647 }).Return (nil )
4748
48- s .casUploader .On ("Configured" ).Return (false )
49+ s .casClient .On ("Configured" ).Return (false )
4950
5051 gotDigest , err := s .uc .UploadToCAS (ctx , envelope , "my-secret" , runID )
5152 assert .NoError (s .T (), err )
5253 assert .Equal (s .T (), expectedDigest , gotDigest )
5354}
5455
5556func (s * attestationTestSuite ) TestUploadToCAS () {
56- runID := uuid .NewString ()
57- envelope := & dsse.Envelope {}
58- const expectedDigest = "f845058d865c3d4d491c9019f6afe9c543ad2cd11b31620cc512e341fb03d3d8"
59-
6057 ctx := context .Background ()
61- s .casUploader .On (
58+ s .casClient .On (
6259 "Upload" , ctx , "my-secret" , mock .Anything ,
6360 fmt .Sprintf ("attestation-%s.json" , runID ), expectedDigest ,
6461 ).Return (nil )
6562
66- s .casUploader .On ("Configured" ).Return (true )
63+ s .casClient .On ("Configured" ).Return (true )
6764
6865 gotDigest , err := s .uc .UploadToCAS (ctx , envelope , "my-secret" , runID )
6966 assert .NoError (s .T (), err )
7067 assert .Equal (s .T (), expectedDigest , gotDigest )
7168}
7269
73- func (s * attestationTestSuite ) TestFetchFromStore () {
74- const expectedDigest = "f845058d865c3d4d491c9019f6afe9c543ad2cd11b31620cc512e341fb03d3d8"
70+ func (s * attestationTestSuite ) TestFetchFromStoreFallbackOCI () {
7571 want := & biz.Attestation {Envelope : & dsse.Envelope {}}
7672
7773 ctx := context .Background ()
@@ -82,7 +78,27 @@ func (s *attestationTestSuite) TestFetchFromStore() {
8278 require .NoError (s .T (), err )
8379 })
8480
85- got , err := s .uc .FetchFromStore (ctx , s .downloader , expectedDigest )
81+ s .casClient .On ("Configured" ).Return (false )
82+
83+ got , err := s .uc .FetchFromStore (ctx , "my-secret" , expectedDigest )
84+ assert .NoError (s .T (), err )
85+ assert .Equal (s .T (), want , got )
86+ }
87+
88+ func (s * attestationTestSuite ) TestFetchFromStore () {
89+ want := & biz.Attestation {Envelope : & dsse.Envelope {}}
90+
91+ ctx := context .Background ()
92+ s .casClient .On ("Download" , ctx , "my-secret" , mock .Anything , expectedDigest ).Return (nil ).Run (
93+ func (args mock.Arguments ) {
94+ buf := args .Get (2 ).(io.Writer )
95+ err := json .NewEncoder (buf ).Encode (want )
96+ require .NoError (s .T (), err )
97+ })
98+
99+ s .casClient .On ("Configured" ).Return (true )
100+
101+ got , err := s .uc .FetchFromStore (ctx , "my-secret" , expectedDigest )
86102 assert .NoError (s .T (), err )
87103 assert .Equal (s .T (), want , got )
88104}
@@ -96,18 +112,18 @@ func (s *attestationTestSuite) SetupTest() {
96112 ociBackend := blobmock .NewUploaderDownloader (s .T ())
97113 backendProvider .On ("FromCredentials" , mock .Anything , "my-secret" ).Maybe ().Return (ociBackend , nil )
98114
99- s .casUploader = mocks .NewCASUploader (s .T ())
100- s .uc = biz .NewAttestationUseCase (s .casUploader , backendProvider , nil )
115+ s .casClient = mocks .NewCASClient (s .T ())
116+ s .uc = biz .NewAttestationUseCase (s .casClient , backendProvider , nil )
101117 s .uploader = (* blobmock .Uploader )(ociBackend )
102- s .downloader = blobmock .NewDownloader ( s . T () )
118+ s .downloader = ( * blobmock .Downloader )( ociBackend )
103119}
104120
105121// Utility struct to hold the test suite
106122type attestationTestSuite struct {
107123 suite.Suite
108124 uc * biz.AttestationUseCase
109125 // Deprecated: attestation should use the casclient instead of the blobmanager
110- uploader * blobmock.Uploader
111- downloader * blobmock.Downloader
112- casUploader * mocks.CASUploader
126+ uploader * blobmock.Uploader
127+ downloader * blobmock.Downloader
128+ casClient * mocks.CASClient
113129}
0 commit comments