github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/integration/v7/isolated/delete_service_broker_command_test.go (about) 1 package isolated 2 3 import ( 4 . "code.cloudfoundry.org/cli/cf/util/testhelpers/matchers" 5 "code.cloudfoundry.org/cli/integration/helpers" 6 "code.cloudfoundry.org/cli/integration/helpers/fakeservicebroker" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 . "github.com/onsi/gomega/gbytes" 10 . "github.com/onsi/gomega/gexec" 11 ) 12 13 var _ = Describe("delete-service-broker command", func() { 14 Context("Help", func() { 15 It("appears in cf help -a", func() { 16 session := helpers.CF("help", "-a") 17 Eventually(session).Should(Exit(0)) 18 Expect(session).To(HaveCommandInCategoryWithDescription("delete-service-broker", "SERVICE ADMIN", "Delete a service broker")) 19 }) 20 21 It("displays the help information", func() { 22 session := helpers.CF("delete-service-broker", "--help") 23 Eventually(session).Should(Say(`NAME:`)) 24 Eventually(session).Should(Say(`delete-service-broker - Delete a service broker\n`)) 25 Eventually(session).Should(Say(`\n`)) 26 27 Eventually(session).Should(Say(`USAGE:`)) 28 Eventually(session).Should(Say(`cf delete-service-broker SERVICE_BROKER \[-f\]\n`)) 29 Eventually(session).Should(Say(`\n`)) 30 31 Eventually(session).Should(Say(`OPTIONS:`)) 32 Eventually(session).Should(Say(`-f\s+Force deletion without confirmation`)) 33 Eventually(session).Should(Say(`\n`)) 34 35 Eventually(session).Should(Say(`SEE ALSO:`)) 36 Eventually(session).Should(Say(`delete-service, purge-service-offering, service-brokers`)) 37 38 Eventually(session).Should(Exit(0)) 39 }) 40 }) 41 42 When("an api is targeted and the user is logged in", func() { 43 BeforeEach(func() { 44 helpers.LoginCF() 45 }) 46 47 When("there is a service broker without any instances", func() { 48 var ( 49 orgName string 50 broker *fakeservicebroker.FakeServiceBroker 51 ) 52 53 BeforeEach(func() { 54 orgName = helpers.NewOrgName() 55 helpers.SetupCF(orgName, helpers.NewSpaceName()) 56 broker = fakeservicebroker.New().EnsureBrokerIsAvailable() 57 broker.EnableServiceAccess() 58 }) 59 60 AfterEach(func() { 61 helpers.QuickDeleteOrg(orgName) 62 }) 63 64 It("should delete the service broker", func() { 65 session := helpers.CF("delete-service-broker", broker.Name(), "-f") 66 Eventually(session).Should(Exit(0)) 67 68 session = helpers.CF("service-brokers") 69 Consistently(session).ShouldNot(Say(broker.Name())) 70 Eventually(session).Should(Exit(0)) 71 72 session = helpers.CF("marketplace") 73 Consistently(session).ShouldNot(Say(broker.ServiceName())) 74 Consistently(session).ShouldNot(Say(broker.ServicePlanName())) 75 Eventually(session).Should(Exit(0)) 76 }) 77 }) 78 79 When("there is a service broker with a service instance", func() { 80 var ( 81 orgName string 82 broker *fakeservicebroker.FakeServiceBroker 83 ) 84 85 BeforeEach(func() { 86 orgName = helpers.NewOrgName() 87 helpers.SetupCF(orgName, helpers.NewSpaceName()) 88 broker = fakeservicebroker.New().EnsureBrokerIsAvailable() 89 broker.EnableServiceAccess() 90 91 serviceName := helpers.NewServiceInstanceName() 92 session := helpers.CF("create-service", broker.ServiceName(), broker.ServicePlanName(), serviceName) 93 Eventually(session).Should(Exit(0)) 94 }) 95 96 AfterEach(func() { 97 helpers.QuickDeleteOrg(orgName) 98 }) 99 100 It("should fail to delete the service broker", func() { 101 session := helpers.CF("delete-service-broker", broker.Name(), "-f") 102 Eventually(session.Err).Should(Say("Can not remove brokers that have associated service instances")) 103 Eventually(session).Should(Exit(1)) 104 105 session = helpers.CF("service-brokers") 106 Eventually(session).Should(Say(broker.Name())) 107 Eventually(session).Should(Exit(0)) 108 109 session = helpers.CF("marketplace") 110 Eventually(session).Should(Say(broker.ServiceName())) 111 Eventually(session).Should(Say(broker.ServicePlanName())) 112 Eventually(session).Should(Exit(0)) 113 }) 114 }) 115 116 When("the service broker doesn't exist", func() { 117 It("should exit 0 (idempotent case)", func() { 118 session := helpers.CF("delete-service-broker", "not-a-broker", "-f") 119 Eventually(session).Should(Say(`Service broker 'not-a-broker' does not exist.`)) 120 Eventually(session).Should(Exit(0)) 121 }) 122 }) 123 124 When("the service broker is not specified", func() { 125 It("displays error and exits 1", func() { 126 session := helpers.CF("delete-service-broker") 127 Eventually(session.Err).Should(Say("Incorrect Usage: the required argument `SERVICE_BROKER` was not provided\n")) 128 Eventually(session.Err).Should(Say("\n")) 129 Eventually(session).Should(Say("NAME:\n")) 130 Eventually(session).Should(Exit(1)) 131 }) 132 }) 133 }) 134 })