models.RouteSummary{ Guid: "my-route-guid", }, }, } requirementsFactory.Domain = models.DomainFields{ Guid: "my-domain-guid", Name: "example.com", } routeRepo.FindByHostAndDomainReturns(models.Route{ Domain: requirementsFactory.Domain, Guid: "my-route-guid", Host: "foo", Apps: []models.ApplicationFields{ models.ApplicationFields{ Guid: "my-app-guid", Name: "my-app", }, }, }, nil) }) It("passes requirements", func() { Expect(runCommand("-n", "my-host", "my-app", "my-domain.com")).To(BeTrue()) }) It("reads the app and domain from its requirements", func() { runCommand("-n", "my-host", "my-app", "my-domain.com") Expect(requirementsFactory.ApplicationName).To(Equal("my-app")) Expect(requirementsFactory.DomainName).To(Equal("my-domain.com"))
Expect(path).To(Equal("/path")) }) Context("when creating the route fails", func() { BeforeEach(func() { routeRepo.CreateInSpaceReturns(models.Route{}, errors.New("create-error")) }) It("attempts to find the route", func() { Expect(func() { cmd.Execute(flagContext) }).To(Panic()) Expect(routeRepo.FindByHostAndDomainCallCount()).To(Equal(1)) }) Context("when finding the route fails", func() { BeforeEach(func() { routeRepo.FindByHostAndDomainReturns(models.Route{}, errors.New("find-error")) }) It("fails with the original error", func() { Expect(func() { cmd.Execute(flagContext) }).To(Panic()) Expect(ui.Outputs).To(ContainSubstrings([]string{"FAILED"}, []string{"create-error"})) }) }) Context("when a route with the same space guid, but different domain guid is found", func() { It("fails with the original error", func() { Expect(func() { cmd.Execute(flagContext) }).To(Panic()) Expect(ui.Outputs).To(ContainSubstrings([]string{"FAILED"}, []string{"create-error"})) }) })
} zipper.ZipReturns(nil) zipper.GetZipSizeReturns(9001, nil) actor.GatherFilesReturns(nil, true, nil) actor.UploadAppReturns(nil) }) Context("when the default route for the app already exists", func() { BeforeEach(func() { route := models.Route{} route.Guid = "my-route-guid" route.Host = "app-name" route.Domain = domainRepo.ListDomainsForOrgDomains[0] routeRepo.FindByHostAndDomainReturns(route, nil) }) It("notifies users about the error actor.GatherFiles() returns", func() { actor.GatherFilesReturns([]resources.AppFileResource{}, false, errors.New("failed to get file mode")) callPush("app-name") Expect(ui.Outputs).To(ContainSubstrings( []string{"failed to get file mode"}, )) }) It("binds to existing routes", func() { callPush("app-name")