@@ -59,7 +59,6 @@ var _ = Describe("Method", func() {
5959 expectedBlobContent []byte
6060 err error
6161 defaultLink string
62- accessSpec * me.AccessSpec
6362 fs vfs.FileSystem
6463 expectedURL string
6564 clientFn func (url string ) * http.Client
@@ -88,15 +87,6 @@ var _ = Describe("Method", func() {
8887 })
8988 }
9089
91- accessSpec = me .New (
92- "https://github.com/test/test" ,
93- "" ,
94- "7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" ,
95- me .WithClient (clientFn (expectedURL )),
96- me .WithDownloader (& mockDownloader {
97- expected : expectedBlobContent ,
98- }),
99- )
10090 fs , err = osfs .NewTempFileSystem ()
10191 Expect (err ).To (Succeed ())
10292 vfsattr .Set (ctx , fs )
@@ -107,28 +97,52 @@ var _ = Describe("Method", func() {
10797 vfs .Cleanup (fs )
10898 })
10999
100+ DescribeTable ("AccessMethod" ,
101+ func (repoURL , apiHostname , commit , ref , expectedURL string ) {
102+ accessSpec := me .New (
103+ repoURL ,
104+ apiHostname ,
105+ me .WithCommit (commit ),
106+ me .WithReference (ref ),
107+ me .WithClient (clientFn (expectedURL )),
108+ me .WithDownloader (& mockDownloader {
109+ expected : expectedBlobContent ,
110+ }),
111+ )
112+ m , err := accessSpec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
113+ Expect (err ).ToNot (HaveOccurred ())
114+ content , err := m .Get ()
115+ Expect (err ).ToNot (HaveOccurred ())
116+ Expect (content ).To (Equal (expectedBlobContent ))
117+
118+ },
119+ Entry ("with commit" , "https://github.com/test/test" , "" , "7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" , "" , "https://api.github.com/repos/test/test/tarball/7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" ),
120+ Entry ("with ref" , "https://github.com/test/test" , "" , "" , "refs/heads/main" , "https://api.github.com/repos/test/test/tarball/refs/heads/main" ),
121+ )
122+
110123 It ("provides consumer id" , func () {
124+ accessSpec := me .New (
125+ "https://github.com/test/test" ,
126+ "" ,
127+ me .WithCommit ("7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" ),
128+ me .WithClient (clientFn (expectedURL )),
129+ me .WithDownloader (& mockDownloader {
130+ expected : expectedBlobContent ,
131+ }),
132+ )
111133 m , err := accessSpec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
112134 Expect (err ).ToNot (HaveOccurred ())
113135 Expect (credentials .GetProvidedConsumerId (m )).To (Equal (credentials .NewConsumerIdentity (identity .CONSUMER_TYPE ,
114136 identity .ID_HOSTNAME , "github.com" ,
115137 identity .ID_PATHPREFIX , "test/test" )))
116138 })
117139
118- It ("downloads artifacts" , func () {
119- m , err := accessSpec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
120- Expect (err ).ToNot (HaveOccurred ())
121- content , err := m .Get ()
122- Expect (err ).ToNot (HaveOccurred ())
123- Expect (content ).To (Equal (expectedBlobContent ))
124- })
125-
126140 When ("the commit sha is of an invalid length" , func () {
127141 It ("errors" , func () {
128142 accessSpec := me .New (
129143 "hostname" ,
130144 "" ,
131- "not-a-sha" ,
145+ me . WithCommit ( "not-a-sha" ) ,
132146 me .WithClient (clientFn (expectedURL )),
133147 me .WithDownloader (& mockDownloader {
134148 expected : expectedBlobContent ,
@@ -147,7 +161,7 @@ var _ = Describe("Method", func() {
147161 accessSpec := me .New (
148162 "hostname" ,
149163 "1234" ,
150- "refs/heads/veryinteresting_branch_namess" ,
164+ me . WithCommit ( "refs/heads/veryinteresting_branch_namess" ) ,
151165 me .WithClient (clientFn (expectedURL )),
152166 me .WithDownloader (& mockDownloader {
153167 expected : expectedBlobContent ,
@@ -184,17 +198,17 @@ var _ = Describe("Method", func() {
184198 }
185199 })
186200 }
187- accessSpec = me .New (
201+ })
202+ It ("can use those to access private repos" , func () {
203+ accessSpec := me .New (
188204 "https://github.com/test/test" ,
189205 "" ,
190- "7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" ,
206+ me . WithCommit ( "7b1445755ee2527f0bf80ef9eeb59a5d2e6e3e1f" ) ,
191207 me .WithClient (clientFn (expectedURL )),
192208 me .WithDownloader (& mockDownloader {
193209 expected : expectedBlobContent ,
194210 }),
195211 )
196- })
197- It ("can use those to access private repos" , func () {
198212 mcc := ocm .New (datacontext .MODE_INITIAL )
199213 src := & mockCredSource {
200214 Context : mcc .CredentialsContext (),
@@ -214,26 +228,10 @@ var _ = Describe("Method", func() {
214228 })
215229 })
216230
217- When ("GetCredentialsForConsumer returns an error" , func () {
218- It ("errors" , func () {
219- mcc := ocm .New (datacontext .MODE_INITIAL )
220- src := & mockCredSource {
221- Context : mcc .CredentialsContext (),
222- err : fmt .Errorf ("danger will robinson" ),
223- }
224- mcc .CredentialsContext ().SetCredentialsForConsumer (credentials .NewConsumerIdentity (identity .CONSUMER_TYPE ), src )
225- _ , err := accessSpec .AccessMethod (& mockComponentVersionAccess {
226- ocmContext : mcc ,
227- })
228- Expect (err ).To (MatchError (ContainSubstring ("danger will robinson" )))
229- Expect (src .called ).To (BeTrue ())
230- })
231- })
232-
233231 When ("an enterprise repo URL is provided" , func () {
234232 It ("uses that domain and includes api/v3 in the request URL" , func () {
235233 expectedURL = "https://github.tools.sap/api/v3/repos/test/test/tarball/25d9a3f0031c0b42e9ef7ab0117c35378040ef82"
236- spec := me .New ("https://github.tools.sap/test/test" , "" , "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" , me .WithClient (clientFn (expectedURL )))
234+ spec := me .New ("https://github.tools.sap/test/test" , "" , me . WithCommit ( "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" ) , me .WithClient (clientFn (expectedURL )))
237235 _ , err := spec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
238236 Expect (err ).ToNot (HaveOccurred ())
239237 })
@@ -242,7 +240,7 @@ var _ = Describe("Method", func() {
242240 When ("hostname is different from github.com" , func () {
243241 It ("will use an enterprise client" , func () {
244242 expectedURL = "https://custom/api/v3/repos/test/test/tarball/25d9a3f0031c0b42e9ef7ab0117c35378040ef82"
245- spec := me .New ("https://github.tools.sap/test/test" , "custom" , "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" , me .WithClient (clientFn (expectedURL )))
243+ spec := me .New ("https://github.tools.sap/test/test" , "custom" , me . WithCommit ( "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" ) , me .WithClient (clientFn (expectedURL )))
246244 _ , err := spec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
247245 Expect (err ).ToNot (HaveOccurred ())
248246 })
@@ -251,7 +249,7 @@ var _ = Describe("Method", func() {
251249 When ("repoURL doesn't have an https prefix" , func () {
252250 It ("will add one" , func () {
253251 expectedURL = "https://api.github.com/repos/test/test/tarball/25d9a3f0031c0b42e9ef7ab0117c35378040ef82"
254- spec := me .New ("github.com/test/test" , "" , "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" , me .WithClient (clientFn (expectedURL )))
252+ spec := me .New ("github.com/test/test" , "" , me . WithCommit ( "25d9a3f0031c0b42e9ef7ab0117c35378040ef82" ) , me .WithClient (clientFn (expectedURL )))
255253 _ , err := spec .AccessMethod (& cpi.DummyComponentVersionAccess {Context : ctx })
256254 Expect (err ).ToNot (HaveOccurred ())
257255 })
0 commit comments