@@ -28,23 +28,24 @@ var _ = Describe("Buildpack", func() {
28
28
actor , fakeCloudControllerClient , _ , _ , _ , _ , _ = NewTestActor ()
29
29
})
30
30
31
- Describe ("GetBuildpackByNameAndStack " , func () {
31
+ Describe ("GetBuildpackByNameAndStackAndLifecycle " , func () {
32
32
var (
33
- buildpackName = "buildpack-1"
34
- buildpackStack = "stack-name"
35
- buildpack resources.Buildpack
36
- warnings Warnings
37
- executeErr error
33
+ buildpackName = "buildpack-1"
34
+ buildpackStack = "stack-name"
35
+ buildpackLifecycle = "buildpack"
36
+ buildpack resources.Buildpack
37
+ warnings Warnings
38
+ executeErr error
38
39
)
39
40
40
41
JustBeforeEach (func () {
41
- buildpack , warnings , executeErr = actor .GetBuildpackByNameAndStack (buildpackName , buildpackStack )
42
+ buildpack , warnings , executeErr = actor .GetBuildpackByNameAndStackAndLifecycle (buildpackName , buildpackStack , buildpackLifecycle )
42
43
})
43
44
44
45
When ("getting buildpacks fails" , func () {
45
46
BeforeEach (func () {
46
-
47
47
buildpackStack = "real-good-stack"
48
+ buildpackLifecycle = "some-lifecycle"
48
49
fakeCloudControllerClient .GetBuildpacksReturns (
49
50
nil ,
50
51
ccv3.Warnings {"some-warning-1" , "some-warning-2" },
@@ -65,6 +66,10 @@ var _ = Describe("Buildpack", func() {
65
66
Key : ccv3 .StackFilter ,
66
67
Values : []string {buildpackStack },
67
68
},
69
+ ccv3.Query {
70
+ Key : ccv3 .LifecycleFilter ,
71
+ Values : []string {buildpackLifecycle },
72
+ },
68
73
))
69
74
})
70
75
})
@@ -120,15 +125,16 @@ var _ = Describe("Buildpack", func() {
120
125
})
121
126
122
127
It ("returns warnings and a BuildpackNotFoundError" , func () {
123
- Expect (executeErr ).To (MatchError (actionerror.BuildpackNotFoundError {BuildpackName : buildpackName , StackName : buildpackStack }))
128
+ Expect (executeErr ).To (MatchError (actionerror.BuildpackNotFoundError {BuildpackName : buildpackName , StackName : buildpackStack , Lifecycle : buildpackLifecycle }))
124
129
Expect (warnings ).To (ConsistOf ("some-warning-1" , "some-warning-2" ))
125
130
})
126
131
})
127
132
128
133
When ("getting buildpacks is successful" , func () {
129
- When ("No stack is specified" , func () {
134
+ When ("No stack or lifecycle is specified" , func () {
130
135
BeforeEach (func () {
131
136
buildpackStack = ""
137
+ buildpackLifecycle = ""
132
138
buildpackName = "my-buildpack"
133
139
134
140
ccBuildpack := resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" }
@@ -144,7 +150,7 @@ var _ = Describe("Buildpack", func() {
144
150
Expect (buildpack ).To (Equal (resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" }))
145
151
})
146
152
147
- It ("Does not pass a stack query to the client" , func () {
153
+ It ("Does not pass a stack or lifecycle query to the client" , func () {
148
154
Expect (fakeCloudControllerClient .GetBuildpacksCallCount ()).To (Equal (1 ))
149
155
queries := fakeCloudControllerClient .GetBuildpacksArgsForCall (0 )
150
156
Expect (queries ).To (ConsistOf (
@@ -156,10 +162,11 @@ var _ = Describe("Buildpack", func() {
156
162
})
157
163
})
158
164
159
- When ("A stack is specified" , func () {
165
+ When ("only a stack is specified" , func () {
160
166
BeforeEach (func () {
161
167
buildpackStack = "good-stack"
162
168
buildpackName = "my-buildpack"
169
+ buildpackLifecycle = ""
163
170
164
171
ccBuildpack := resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Stack : "good-stack" }
165
172
fakeCloudControllerClient .GetBuildpacksReturns (
@@ -174,7 +181,7 @@ var _ = Describe("Buildpack", func() {
174
181
Expect (buildpack ).To (Equal (resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Stack : "good-stack" }))
175
182
})
176
183
177
- It ("Does pass a stack query to the client" , func () {
184
+ It ("Only passes a stack query to the client" , func () {
178
185
Expect (fakeCloudControllerClient .GetBuildpacksCallCount ()).To (Equal (1 ))
179
186
queries := fakeCloudControllerClient .GetBuildpacksArgsForCall (0 )
180
187
Expect (queries ).To (ConsistOf (
@@ -189,6 +196,78 @@ var _ = Describe("Buildpack", func() {
189
196
))
190
197
})
191
198
})
199
+ When ("only a lifecycle is specified" , func () {
200
+ BeforeEach (func () {
201
+ buildpackLifecycle = "good-lifecycle"
202
+ buildpackStack = ""
203
+ buildpackName = "my-buildpack"
204
+
205
+ ccBuildpack := resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Lifecycle : "good-lifecycle" }
206
+ fakeCloudControllerClient .GetBuildpacksReturns (
207
+ []resources.Buildpack {ccBuildpack },
208
+ ccv3.Warnings {"some-warning-1" , "some-warning-2" },
209
+ nil )
210
+ })
211
+
212
+ It ("Returns the proper buildpack" , func () {
213
+ Expect (executeErr ).ToNot (HaveOccurred ())
214
+ Expect (warnings ).To (ConsistOf ("some-warning-1" , "some-warning-2" ))
215
+ Expect (buildpack ).To (Equal (resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Lifecycle : "good-lifecycle" }))
216
+ })
217
+
218
+ It ("Only passes a lifecycle query to the client" , func () {
219
+ Expect (fakeCloudControllerClient .GetBuildpacksCallCount ()).To (Equal (1 ))
220
+ queries := fakeCloudControllerClient .GetBuildpacksArgsForCall (0 )
221
+ Expect (queries ).To (ConsistOf (
222
+ ccv3.Query {
223
+ Key : ccv3 .NameFilter ,
224
+ Values : []string {buildpackName },
225
+ },
226
+ ccv3.Query {
227
+ Key : ccv3 .LifecycleFilter ,
228
+ Values : []string {buildpackLifecycle },
229
+ },
230
+ ))
231
+ })
232
+ })
233
+ When ("When stack and lifecycle are specified" , func () {
234
+ BeforeEach (func () {
235
+ buildpackLifecycle = "good-lifecycle"
236
+ buildpackStack = "good-stack"
237
+ buildpackName = "my-buildpack"
238
+
239
+ ccBuildpack := resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Lifecycle : "good-lifecycle" , Stack : "good-stack" }
240
+ fakeCloudControllerClient .GetBuildpacksReturns (
241
+ []resources.Buildpack {ccBuildpack },
242
+ ccv3.Warnings {"some-warning-1" , "some-warning-2" },
243
+ nil )
244
+ })
245
+
246
+ It ("Returns the proper buildpack" , func () {
247
+ Expect (executeErr ).ToNot (HaveOccurred ())
248
+ Expect (warnings ).To (ConsistOf ("some-warning-1" , "some-warning-2" ))
249
+ Expect (buildpack ).To (Equal (resources.Buildpack {Name : "my-buildpack" , GUID : "some-guid" , Lifecycle : "good-lifecycle" , Stack : "good-stack" }))
250
+ })
251
+
252
+ It ("Only passes a lifecycle query to the client" , func () {
253
+ Expect (fakeCloudControllerClient .GetBuildpacksCallCount ()).To (Equal (1 ))
254
+ queries := fakeCloudControllerClient .GetBuildpacksArgsForCall (0 )
255
+ Expect (queries ).To (ConsistOf (
256
+ ccv3.Query {
257
+ Key : ccv3 .NameFilter ,
258
+ Values : []string {buildpackName },
259
+ },
260
+ ccv3.Query {
261
+ Key : ccv3 .LifecycleFilter ,
262
+ Values : []string {buildpackLifecycle },
263
+ },
264
+ ccv3.Query {
265
+ Key : ccv3 .StackFilter ,
266
+ Values : []string {buildpackStack },
267
+ },
268
+ ))
269
+ })
270
+ })
192
271
})
193
272
})
194
273
@@ -338,9 +417,10 @@ var _ = Describe("Buildpack", func() {
338
417
339
418
Describe ("UpdateBuildpackByNameAndStack" , func () {
340
419
var (
341
- buildpackName = "my-buildpack"
342
- buildpackStack = "my-stack"
343
- buildpack = resources.Buildpack {
420
+ buildpackName = "my-buildpack"
421
+ buildpackStack = "my-stack"
422
+ buildpackLifecycle = "cnb"
423
+ buildpack = resources.Buildpack {
344
424
Stack : "new-stack" ,
345
425
}
346
426
@@ -350,7 +430,7 @@ var _ = Describe("Buildpack", func() {
350
430
)
351
431
352
432
JustBeforeEach (func () {
353
- retBuildpack , warnings , executeErr = actor .UpdateBuildpackByNameAndStack (buildpackName , buildpackStack , buildpack )
433
+ retBuildpack , warnings , executeErr = actor .UpdateBuildpackByNameAndStackAndLifecycle (buildpackName , buildpackStack , buildpackLifecycle , buildpack )
354
434
})
355
435
356
436
When ("it is successful" , func () {
@@ -377,6 +457,10 @@ var _ = Describe("Buildpack", func() {
377
457
Key : ccv3 .StackFilter ,
378
458
Values : []string {buildpackStack },
379
459
},
460
+ ccv3.Query {
461
+ Key : ccv3 .LifecycleFilter ,
462
+ Values : []string {buildpackLifecycle },
463
+ },
380
464
))
381
465
382
466
paramBuildpack := fakeCloudControllerClient .UpdateBuildpackArgsForCall (0 )
@@ -651,18 +735,19 @@ var _ = Describe("Buildpack", func() {
651
735
})
652
736
})
653
737
654
- Describe ("DeleteBuildpackByNameAndStack " , func () {
738
+ Describe ("DeleteBuildpackByNameAndStackAndLifecycle " , func () {
655
739
var (
656
- buildpackName = "buildpack-name"
657
- buildpackStack = "buildpack-stack"
658
- buildpackGUID = "buildpack-guid"
659
- jobURL = "buildpack-delete-job-url"
660
- warnings Warnings
661
- executeErr error
740
+ buildpackName = "buildpack-name"
741
+ buildpackStack = "buildpack-stack"
742
+ buildpackLifecycle = "buildpack-stack"
743
+ buildpackGUID = "buildpack-guid"
744
+ jobURL = "buildpack-delete-job-url"
745
+ warnings Warnings
746
+ executeErr error
662
747
)
663
748
664
749
JustBeforeEach (func () {
665
- warnings , executeErr = actor .DeleteBuildpackByNameAndStack (buildpackName , buildpackStack )
750
+ warnings , executeErr = actor .DeleteBuildpackByNameAndStackAndLifecycle (buildpackName , buildpackStack , buildpackLifecycle )
666
751
})
667
752
668
753
When ("getting the buildpack fails" , func () {
@@ -686,6 +771,10 @@ var _ = Describe("Buildpack", func() {
686
771
Key : ccv3 .StackFilter ,
687
772
Values : []string {buildpackStack },
688
773
},
774
+ ccv3.Query {
775
+ Key : ccv3 .LifecycleFilter ,
776
+ Values : []string {buildpackLifecycle },
777
+ },
689
778
))
690
779
})
691
780
})
0 commit comments