github.com/arunkumar7540/cli@v6.45.0+incompatible/integration/v7/isolated/delete_route_command_test.go (about) 1 package isolated 2 3 import ( 4 "code.cloudfoundry.org/cli/integration/helpers" 5 . "github.com/onsi/ginkgo" 6 . "github.com/onsi/gomega" 7 . "github.com/onsi/gomega/gbytes" 8 . "github.com/onsi/gomega/gexec" 9 ) 10 11 var _ = Describe("delete-route command", func() { 12 Context("Help", func() { 13 It("displays the help information", func() { 14 session := helpers.CF("delete-route", "--help") 15 Eventually(session).Should(Say(`NAME:`)) 16 Eventually(session).Should(Say(`delete-route - Delete a route\n`)) 17 Eventually(session).Should(Say(`\n`)) 18 19 Eventually(session).Should(Say(`USAGE:`)) 20 Eventually(session).Should(Say(`cf delete-route DOMAIN \[--hostname HOSTNAME\] \[--path PATH\] \[-f\]\n`)) 21 Eventually(session).Should(Say(`\n`)) 22 23 Eventually(session).Should(Say(`EXAMPLES:`)) 24 Eventually(session).Should(Say(`cf delete-route example.com\s+# example.com`)) 25 Eventually(session).Should(Say(`cf delete-route example.com --hostname myhost\s+# myhost.example.com`)) 26 Eventually(session).Should(Say(`cf delete-route example.com --hostname myhost --path foo\s+# myhost.example.com/foo`)) 27 Eventually(session).Should(Say(`\n`)) 28 29 Eventually(session).Should(Say(`OPTIONS:`)) 30 Eventually(session).Should(Say(`-f\s+Force deletion without confirmation`)) 31 Eventually(session).Should(Say(`--hostname, -n\s+Hostname used to identify the HTTP route \(required for shared domains\)`)) 32 Eventually(session).Should(Say(`--path\s+Path used to identify the HTTP route`)) 33 Eventually(session).Should(Say(`\n`)) 34 35 Eventually(session).Should(Say(`SEE ALSO:`)) 36 Eventually(session).Should(Say(`delete-orphaned-routes, routes, unmap-route`)) 37 38 Eventually(session).Should(Exit(0)) 39 }) 40 }) 41 42 When("the environment is not setup correctly", func() { 43 It("fails with the appropriate errors", func() { 44 helpers.CheckEnvironmentTargetedCorrectly(true, false, ReadOnlyOrg, "delete-route", "some-domain") 45 }) 46 }) 47 48 When("the environment is set up correctly", func() { 49 var ( 50 orgName string 51 spaceName string 52 ) 53 54 BeforeEach(func() { 55 orgName = helpers.NewOrgName() 56 spaceName = helpers.NewSpaceName() 57 58 helpers.SetupCF(orgName, spaceName) 59 }) 60 61 AfterEach(func() { 62 helpers.QuickDeleteOrg(orgName) 63 }) 64 65 When("the space and domain exist", func() { 66 var ( 67 domainName string 68 ) 69 70 BeforeEach(func() { 71 domainName = helpers.NewDomainName() 72 }) 73 74 When("the route does not exist", func() { 75 var ( 76 domain helpers.Domain 77 ) 78 79 BeforeEach(func() { 80 domain = helpers.NewDomain(orgName, domainName) 81 domain.CreatePrivate() 82 }) 83 84 AfterEach(func() { 85 domain.Delete() 86 }) 87 88 It("warns the user that it has already been deleted and runs to completion without failing", func() { 89 session := helpers.CF("delete-route", domainName, "-f") 90 Eventually(session).Should(Say(`Deleting route %s\.\.\.`, domainName)) 91 Eventually(session).Should(Say(`Unable to delete\. Route with domain '%s' not found\.`, domainName)) 92 Eventually(session).Should(Exit(0)) 93 }) 94 }) 95 96 When("the route exist", func() { 97 When("the domain is private", func() { 98 var domain helpers.Domain 99 100 BeforeEach(func() { 101 domain = helpers.NewDomain(orgName, domainName) 102 domain.Create() 103 }) 104 105 AfterEach(func() { 106 domain.Delete() 107 }) 108 109 When("no flags are used", func() { 110 It("deletes the route", func() { 111 Eventually(helpers.CF("create-route", domainName)).Should(Exit(0)) 112 113 session := helpers.CF("delete-route", domainName, "-f") 114 Eventually(session).Should(Say(`Deleting route %s\.\.\.`, domainName)) 115 Eventually(session).Should(Say(`OK`)) 116 Eventually(session).Should(Exit(0)) 117 }) 118 }) 119 120 When("passing in a hostname", func() { 121 It("deletes the route with the hostname", func() { 122 hostname := "tiramisu" 123 Eventually(helpers.CF("create-route", domainName, "-n", hostname)).Should(Exit(0)) 124 125 session := helpers.CF("delete-route", domainName, "-n", hostname, "-f") 126 Eventually(session).Should(Say(`Deleting route %s\.%s\.\.\.`, hostname, domainName)) 127 Eventually(session).Should(Say(`OK`)) 128 Eventually(session).Should(Exit(0)) 129 }) 130 }) 131 132 When("passing in hostname and path with a leading '/'", func() { 133 It("deletes the route with hostname and path", func() { 134 hostname := "tiramisu" 135 pathString := "/recipes" 136 Eventually(helpers.CF("create-route", domainName, "-n", hostname, "--path", pathString)).Should(Exit(0)) 137 138 session := helpers.CF("delete-route", domainName, "-n", hostname, "--path", pathString, "-f") 139 Eventually(session).Should(Say(`Deleting route %s\.%s%s\.\.\.`, hostname, domainName, pathString)) 140 Eventually(session).Should(Say(`OK`)) 141 Eventually(session).Should(Exit(0)) 142 }) 143 }) 144 145 When("passing in hostname and path without a leading '/'", func() { 146 It("deletes the route with hostname and path", func() { 147 hostname := "tiramisu" 148 pathString := "more-recipes" 149 Eventually(helpers.CF("create-route", domainName, "-n", hostname, "--path", pathString)).Should(Exit(0)) 150 151 session := helpers.CF("delete-route", domainName, "-n", hostname, "--path", pathString, "-f") 152 Eventually(session).Should(Say(`Deleting route %s\.%s\/%s\.\.\.`, hostname, domainName, pathString)) 153 Eventually(session).Should(Say(`OK`)) 154 Eventually(session).Should(Exit(0)) 155 }) 156 }) 157 }) 158 159 When("the domain is shared", func() { 160 var domain helpers.Domain 161 162 BeforeEach(func() { 163 domain = helpers.NewDomain("", domainName) 164 domain.CreateShared() 165 }) 166 167 AfterEach(func() { 168 domain.DeleteShared() 169 }) 170 171 When("no flags are used", func() { 172 It("fails with a helpful message", func() { 173 session := helpers.CF("delete-route", domainName, "-f") 174 Eventually(session).Should(Say(`Deleting route %s\.\.\.`, domainName)) 175 Eventually(session).Should(Say(`Unable to delete\. Route with domain '%s' not found\.`, domainName)) 176 Eventually(session).Should(Say(`OK`)) 177 Eventually(session).Should(Exit(0)) 178 }) 179 }) 180 181 When("passing in a hostname", func() { 182 It("deletes the route with the hostname", func() { 183 hostname := "tiramisu" 184 Eventually(helpers.CF("create-route", domainName, "-n", hostname)).Should(Exit(0)) 185 186 session := helpers.CF("delete-route", domainName, "-n", hostname, "-f") 187 Eventually(session).Should(Say(`Deleting route %s\.%s\.\.\.`, hostname, domainName)) 188 Eventually(session).Should(Say(`OK`)) 189 Eventually(session).Should(Exit(0)) 190 }) 191 }) 192 193 When("passing in hostname and path with a leading '/'", func() { 194 It("deletes the route with hostname and path", func() { 195 hostname := "tiramisu" 196 pathString := "/recipes" 197 Eventually(helpers.CF("create-route", domainName, "-n", hostname, "--path", pathString)).Should(Exit(0)) 198 199 session := helpers.CF("delete-route", domainName, "-n", hostname, "--path", pathString, "-f") 200 Eventually(session).Should(Say(`Deleting route %s\.%s%s\.\.\.`, hostname, domainName, pathString)) 201 Eventually(session).Should(Say(`OK`)) 202 Eventually(session).Should(Exit(0)) 203 }) 204 }) 205 206 When("passing in hostname and path without a leading '/'", func() { 207 It("deletes the route with hostname and path", func() { 208 hostname := "tiramisu" 209 pathString := "more-recipes" 210 Eventually(helpers.CF("create-route", domainName, "-n", hostname, "--path", pathString)).Should(Exit(0)) 211 212 session := helpers.CF("delete-route", domainName, "-n", hostname, "--path", pathString, "-f") 213 Eventually(session).Should(Say(`Deleting route %s\.%s\/%s\.\.\.`, hostname, domainName, pathString)) 214 Eventually(session).Should(Say(`OK`)) 215 Eventually(session).Should(Exit(0)) 216 }) 217 }) 218 }) 219 }) 220 }) 221 222 When("the domain does not exist", func() { 223 It("displays error and exits 1", func() { 224 session := helpers.CF("delete-route", "some-domain", "-f") 225 Eventually(session).Should(Say(`FAILED`)) 226 Eventually(session.Err).Should(Say(`Domain 'some-domain' not found.`)) 227 Eventually(session).Should(Exit(1)) 228 }) 229 }) 230 231 When("the domain is not specified", func() { 232 It("displays error and exits 1", func() { 233 session := helpers.CF("delete-route") 234 Eventually(session.Err).Should(Say("Incorrect Usage: the required argument `DOMAIN` was not provided\n")) 235 Eventually(session.Err).Should(Say("\n")) 236 Eventually(session).Should(Say("NAME:\n")) 237 Eventually(session).Should(Exit(1)) 238 }) 239 }) 240 }) 241 })