github.com/arunkumar7540/cli@v6.45.0+incompatible/actor/v7pushaction/update_application_test.go (about) 1 package v7pushaction_test 2 3 import ( 4 "errors" 5 6 "code.cloudfoundry.org/cli/actor/v7action" 7 . "code.cloudfoundry.org/cli/actor/v7pushaction" 8 "code.cloudfoundry.org/cli/actor/v7pushaction/v7pushactionfakes" 9 10 . "github.com/onsi/ginkgo" 11 . "github.com/onsi/gomega" 12 . "github.com/onsi/gomega/gstruct" 13 ) 14 15 var _ = Describe("UpdateApplication", func() { 16 var ( 17 actor *Actor 18 fakeV7Actor *v7pushactionfakes.FakeV7Actor 19 20 paramPlan PushPlan 21 22 returnedPlan PushPlan 23 warnings Warnings 24 executeErr error 25 ) 26 27 BeforeEach(func() { 28 actor, _, fakeV7Actor, _ = getTestPushActor() 29 30 paramPlan = PushPlan{ 31 Application: v7action.Application{ 32 GUID: "some-app-guid", 33 }, 34 } 35 }) 36 37 JustBeforeEach(func() { 38 returnedPlan, warnings, executeErr = actor.UpdateApplication(paramPlan, nil, nil) 39 }) 40 41 When("the apps needs an update", func() { 42 BeforeEach(func() { 43 paramPlan.ApplicationNeedsUpdate = true 44 }) 45 46 When("updating is successful", func() { 47 BeforeEach(func() { 48 fakeV7Actor.UpdateApplicationReturns( 49 v7action.Application{ 50 Name: "some-app", 51 GUID: "some-app-guid", 52 LifecycleBuildpacks: []string{"some-buildpack-1"}, 53 }, 54 v7action.Warnings{"some-app-update-warnings"}, 55 nil) 56 }) 57 58 It("puts the updated application in the stream", func() { 59 Expect(executeErr).NotTo(HaveOccurred()) 60 Expect(warnings).To(ConsistOf("some-app-update-warnings")) 61 62 Expect(returnedPlan).To(MatchFields(IgnoreExtras, 63 Fields{ 64 "Application": Equal(v7action.Application{ 65 Name: "some-app", 66 GUID: "some-app-guid", 67 LifecycleBuildpacks: []string{"some-buildpack-1"}, 68 }), 69 })) 70 }) 71 }) 72 73 When("updating errors", func() { 74 var expectedErr error 75 76 BeforeEach(func() { 77 expectedErr = errors.New("some-error") 78 fakeV7Actor.UpdateApplicationReturns( 79 v7action.Application{}, 80 v7action.Warnings{"some-app-update-warnings"}, 81 expectedErr) 82 }) 83 84 It("returns the warnings and error", func() { 85 Expect(executeErr).To(MatchError(expectedErr)) 86 Expect(warnings).To(ConsistOf("some-app-update-warnings")) 87 }) 88 }) 89 }) 90 })