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))