Skip to content

Commit c8e3429

Browse files
committed
Test for multiple bindings
1 parent 13bd797 commit c8e3429

File tree

1 file changed

+44
-15
lines changed

1 file changed

+44
-15
lines changed

command/v7/unbind_service_command_test.go

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ var _ = Describe("unbind-service Command", func() {
3434
fakeSpaceName = "fake-space-name"
3535
fakeSpaceGUID = "fake-space-guid"
3636
fakeBindingGUID = "fake-binding-guid"
37+
fakeBindingGUID2 = "fake-binding-guid-2"
3738
)
3839

3940
BeforeEach(func() {
@@ -60,7 +61,6 @@ var _ = Describe("unbind-service Command", func() {
6061

6162
fakeActor.GetCurrentUserReturns(configv3.User{Name: fakeUserName}, nil)
6263

63-
// Default: one binding found and deletion succeeds without stream
6464
fakeActor.ListServiceAppBindingsReturns(
6565
[]resources.ServiceCredentialBinding{{GUID: fakeBindingGUID}},
6666
v7action.Warnings{"fake warning"},
@@ -88,18 +88,20 @@ var _ = Describe("unbind-service Command", func() {
8888
Expect(actualSpace).To(BeTrue())
8989
})
9090

91-
It("lists bindings then delegates deletion to the actor by GUID", func() {
92-
Expect(fakeActor.ListServiceAppBindingsCallCount()).To(Equal(1))
93-
Expect(fakeActor.ListServiceAppBindingsArgsForCall(0)).To(Equal(v7action.ListServiceAppBindingParams{
94-
SpaceGUID: fakeSpaceGUID,
95-
ServiceInstanceName: fakeServiceInstanceName,
96-
AppName: fakeAppName,
97-
}))
98-
99-
Expect(fakeActor.DeleteServiceAppBindingCallCount()).To(Equal(1))
100-
Expect(fakeActor.DeleteServiceAppBindingArgsForCall(0)).To(Equal(v7action.DeleteServiceAppBindingParams{
101-
ServiceBindingGUID: fakeBindingGUID,
102-
}))
91+
Context("one binding exists", func() {
92+
It("lists binding then delegates deletion to the actor by GUID", func() {
93+
Expect(fakeActor.ListServiceAppBindingsCallCount()).To(Equal(1))
94+
Expect(fakeActor.ListServiceAppBindingsArgsForCall(0)).To(Equal(v7action.ListServiceAppBindingParams{
95+
SpaceGUID: fakeSpaceGUID,
96+
ServiceInstanceName: fakeServiceInstanceName,
97+
AppName: fakeAppName,
98+
}))
99+
100+
Expect(fakeActor.DeleteServiceAppBindingCallCount()).To(Equal(1))
101+
Expect(fakeActor.DeleteServiceAppBindingArgsForCall(0)).To(Equal(v7action.DeleteServiceAppBindingParams{
102+
ServiceBindingGUID: fakeBindingGUID,
103+
}))
104+
})
103105
})
104106

105107
Describe("intro message", func() {
@@ -112,7 +114,7 @@ var _ = Describe("unbind-service Command", func() {
112114
))
113115

114116
Expect(testUI.Out).To(Say(
115-
`Unbinding app %s from service %s in org %s / space %s as %s\.{3}\n`,
117+
`Unbinding app %s from service %s in org %s / space %s as %s\.\.\.\n`,
116118
fakeAppName,
117119
fakeServiceInstanceName,
118120
fakeOrgName,
@@ -122,7 +124,7 @@ var _ = Describe("unbind-service Command", func() {
122124
})
123125
})
124126

125-
When("binding did not exist", func() {
127+
When("binding does not exist", func() {
126128
BeforeEach(func() {
127129
fakeActor.ListServiceAppBindingsReturns(
128130
nil,
@@ -362,4 +364,31 @@ var _ = Describe("unbind-service Command", func() {
362364
Expect(executeErr).To(MatchError("bad thing"))
363365
})
364366
})
367+
368+
Context("multiple bindings exist", func() {
369+
BeforeEach(func() {
370+
fakeActor.ListServiceAppBindingsReturns(
371+
[]resources.ServiceCredentialBinding{{GUID: fakeBindingGUID}, {GUID: fakeBindingGUID2}},
372+
v7action.Warnings{"fake warning"},
373+
nil,
374+
)
375+
})
376+
377+
It("deletes each binding by GUID and prints messages for both", func() {
378+
Expect(fakeActor.DeleteServiceAppBindingCallCount()).To(Equal(2))
379+
380+
firstArgs := fakeActor.DeleteServiceAppBindingArgsForCall(0)
381+
secondArgs := fakeActor.DeleteServiceAppBindingArgsForCall(1)
382+
Expect([]string{firstArgs.ServiceBindingGUID, secondArgs.ServiceBindingGUID}).To(ConsistOf(fakeBindingGUID, fakeBindingGUID2))
383+
384+
Expect(testUI.Out).To(SatisfyAll(
385+
Say(`Deleting service binding %s\.+\n`, fakeBindingGUID),
386+
Say(`OK\n`),
387+
Say(`Deleting service binding %s\.+\n`, fakeBindingGUID2),
388+
Say(`OK\n`),
389+
))
390+
391+
Expect(testUI.Err).To(Say("fake warning"))
392+
})
393+
})
365394
})

0 commit comments

Comments
 (0)