Example #1
0
			routeRepo.ListRoutesStub = func(cb func(models.Route) bool) error {
				app1 := models.ApplicationFields{Name: "dora"}
				app2 := models.ApplicationFields{Name: "bora"}

				route := models.Route{
					Space: models.SpaceFields{
						Name: "my-space",
					},
					Host:   "hostname-1",
					Domain: models.DomainFields{Name: "example.com"},
					Apps:   []models.ApplicationFields{app1},
					ServiceInstance: models.ServiceInstanceFields{
						Name: "test-service",
						GUID: "service-guid",
					},
				}

				route2 := models.Route{
					Space: models.SpaceFields{
						Name: "my-space",
					},
					Host:   "hostname-2",
					Path:   "/foo",
					Domain: models.DomainFields{Name: "cookieclicker.co"},
					Apps:   []models.ApplicationFields{app1, app2},
				}

				route3 := models.Route{
					Space: models.SpaceFields{
						Name: "my-space",
					},
					Domain: models.DomainFields{
						GUID: cookieClickerGUID,
						Name: "cookieclicker.co",
					},
					Apps: []models.ApplicationFields{app1, app2},
					Port: 9090,
				}

				cb(route)
				cb(route2)
				cb(route3)

				return nil
			}
		It("passes when confirmation is provided", func() {
			var ui *testterm.FakeUI
			domain := models.DomainFields{Name: "example.com"}
			domain2 := models.DomainFields{Name: "cookieclicker.co"}

			app1 := models.ApplicationFields{Name: "dora"}

			routeRepo.ListRoutesStub = func(cb func(models.Route) bool) error {
				route := models.Route{}
				route.GUID = "route1-guid"
				route.Host = "hostname-1"
				route.Domain = domain
				route.Apps = []models.ApplicationFields{app1}

				route2 := models.Route{}
				route2.GUID = "route2-guid"
				route2.Host = "hostname-2"
				route2.Domain = domain2

				cb(route)
				cb(route2)

				return nil
			}

			ui, _ = callDeleteOrphanedRoutes("y", []string{}, requirementsFactory, routeRepo)

			Expect(ui.Prompts).To(ContainSubstrings(
				[]string{"Really delete orphaned routes"},
			))