예제 #1
0
			Expect(runCommand("whatever", "shuttup")).To(BeFalse())
		})
	})

	Context("when the user is logged in", func() {
		BeforeEach(func() {
			domain := models.DomainFields{Guid: "my-domain-guid", Name: "example.com"}
			route := models.Route{Guid: "my-route-guid", Host: "foo", Domain: domain}

			app := models.Application{}
			app.Guid = "my-app-guid"
			app.Name = "my-app"

			requirementsFactory.LoginSuccess = true
			requirementsFactory.Application = app
			requirementsFactory.Domain = domain
			routeCreator.ReservedRoute = route
		})

		It("maps a route, obviously", func() {
			passed := runCommand("-n", "my-host", "my-app", "my-domain.com")
			Expect(passed).To(BeTrue())

			Expect(routeRepo.BindCallCount()).To(Equal(1))
			boundRouteGUID, boundAppGUID := routeRepo.BindArgsForCall(0)
			Expect(boundRouteGUID).To(Equal("my-route-guid"))
			Expect(boundAppGUID).To(Equal("my-app-guid"))

			Expect(requirementsFactory.ApplicationName).To(Equal("my-app"))
			Expect(requirementsFactory.DomainName).To(Equal("my-domain.com"))
예제 #2
0
		It("fails with usage when not provided two args", func() {
			requirementsFactory.LoginSuccess = true
			requirementsFactory.TargetedOrgSuccess = true

			runCommand("my-space")
			Expect(ui.FailedWithUsage).To(BeTrue())
		})
	})

	Context("when logged in, targeted a space and given a domain that exists", func() {
		BeforeEach(func() {
			requirementsFactory.LoginSuccess = true
			requirementsFactory.TargetedOrgSuccess = true
			requirementsFactory.Domain = models.DomainFields{
				Guid: "domain-guid",
				Name: "example.com",
			}
			requirementsFactory.Space = models.Space{SpaceFields: models.SpaceFields{
				Guid: "my-space-guid",
				Name: "my-space",
			}}
		})

		It("creates routes, obviously", func() {
			runCommand("-n", "host", "my-space", "example.com")

			Expect(ui.Outputs).To(ContainSubstrings(
				[]string{"Creating route", "host.example.com", "my-org", "my-space", "my-user"},
				[]string{"OK"},
			))