Describe("Execute", func() { It("updates cloud config", func() { availabilityZoneRetriever.RetrieveCall.Returns.AZs = []string{"some-az"} infrastructureManager.DescribeCall.Returns.Stack = cloudformation.Stack{ Name: "some-stack-name", } cloudConfigurator.ConfigureCall.Returns.CloudConfigInput = bosh.CloudConfigInput{ AZs: []string{"some-az"}, LBs: []bosh.LoadBalancerExtension{ { Name: "some-lb", }, }, } err := command.Execute([]string{}, incomingState) Expect(err).NotTo(HaveOccurred()) Expect(boshClientProvider.ClientCall.Receives.DirectorAddress).To(Equal("some-director-address")) Expect(boshClientProvider.ClientCall.Receives.DirectorUsername).To(Equal("some-director-username")) Expect(boshClientProvider.ClientCall.Receives.DirectorPassword).To(Equal("some-director-password")) Expect(infrastructureManager.DescribeCall.Receives.StackName).To(Equal("some-stack-name")) Expect(cloudConfigurator.ConfigureCall.Receives.Stack).To(Equal(cloudformation.Stack{ Name: "some-stack-name", })) Expect(cloudConfigManager.UpdateCall.Receives.CloudConfigInput).To(Equal(bosh.CloudConfigInput{ AZs: []string{"some-az"}, })) Expect(cloudConfigManager.UpdateCall.Receives.BOSHClient).To(Equal(boshClient))