It("fails with usage when called without a broker's name", func() { runCommand() Expect(ui.FailedWithUsage).To(BeTrue()) }) It("fails requirements when not logged in", func() { requirementsFactory.LoginSuccess = false runCommand("-f", "my-broker") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Context("when the service broker exists", func() { BeforeEach(func() { brokerRepo.FindByNameServiceBroker = models.ServiceBroker{ Name: "service-broker-to-delete", Guid: "service-broker-to-delete-guid", } }) It("deletes the service broker with the given name", func() { runCommand("service-broker-to-delete") Expect(brokerRepo.FindByNameName).To(Equal("service-broker-to-delete")) Expect(brokerRepo.DeletedServiceBrokerGuid).To(Equal("service-broker-to-delete-guid")) Expect(ui.Prompts).To(ContainSubstrings([]string{"Really delete the service-broker service-broker-to-delete"})) Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting service broker", "service-broker-to-delete", "my-user"}, []string{"OK"}, )) })
Expect(ui.FailedWithUsage).To(BeTrue()) }) It("fails when not logged in", func() { runCommand("heeeeeeey", "yooouuuuuuu", "guuuuuuuuys", "ヾ(@*ー⌒ー*@)ノ") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Context("when logged in", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true broker := models.ServiceBroker{} broker.Name = "my-found-broker" broker.Guid = "my-found-broker-guid" serviceBrokerRepo.FindByNameServiceBroker = broker }) It("updates the service broker with the provided properties", func() { runCommand("my-broker", "new-username", "new-password", "new-url") Expect(serviceBrokerRepo.FindByNameName).To(Equal("my-broker")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Updating service broker", "my-found-broker", "my-user"}, []string{"OK"}, )) expectedServiceBroker := models.ServiceBroker{} expectedServiceBroker.Name = "my-found-broker" expectedServiceBroker.Username = "******"