func createAppInstancesRepo(requests []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo Repository) { ts, handler = testnet.NewServer(requests) space := models.SpaceFields{} space.GUID = "my-space-guid" configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetAPIEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter)) repo = NewCloudControllerAppInstancesRepository(configRepo, gateway) return }
func createAppInstancesRepo(requests []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo AppInstancesRepository) { ts, handler = testnet.NewServer(requests) space := models.SpaceFields{} space.GUID = "my-space-guid" configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetAPIEndpoint(ts.URL) gateway := cloudcontrollergateway.NewTestCloudControllerGateway(configRepo) repo = NewCloudControllerAppInstancesRepository(configRepo, gateway) return }
}) }) }) It("prompts the user to target an org and space when no org or space is targeted", func() { output := io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, os.Stdout, NewTeePrinter(os.Stdout), fakeLogger) ui.ShowConfiguration(config) }) Expect(output).To(ContainSubstrings([]string{"No", "org", "space", "targeted", "-o ORG", "-s SPACE"})) }) It("prompts the user to target an org when no org is targeted", func() { sf := models.SpaceFields{} sf.GUID = "guid" sf.Name = "name" output := io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, os.Stdout, NewTeePrinter(os.Stdout), fakeLogger) ui.ShowConfiguration(config) }) Expect(output).To(ContainSubstrings([]string{"No", "org", "targeted", "-o ORG"})) }) It("prompts the user to target a space when no space is targeted", func() { of := models.OrganizationFields{} of.GUID = "of-guid" of.Name = "of-name"
AfterEach(func() { testServer.Close() }) Describe("updating the endpoints", func() { Context("when the API request is successful", func() { var ( org models.OrganizationFields space models.SpaceFields ) BeforeEach(func() { org.Name = "my-org" org.GUID = "my-org-guid" space.Name = "my-space" space.GUID = "my-space-guid" coreConfig.SetOrganizationFields(org) coreConfig.SetSpaceFields(space) testServerFn = validAPIInfoEndpoint }) It("returns the configuration info from /info", func() { config, endpoint, err := repo.GetCCInfo(testServer.URL) Expect(err).NotTo(HaveOccurred()) Expect(config.AuthorizationEndpoint).To(Equal("https://login.example.com")) Expect(config.LoggregatorEndpoint).To(Equal("wss://loggregator.foo.example.org:4443")) Expect(endpoint).To(Equal(testServer.URL)) Expect(config.SSHOAuthClient).To(Equal("ssh-client-id")) Expect(config.APIVersion).To(Equal("42.0.0"))
}) It("fails with usage when not provided exactly one arg", func() { requirementsFactory.LoginSuccess = true runCommand("too", "much") Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires an argument"}, )) }) }) Context("when logged in, and provided the name of an org", func() { BeforeEach(func() { developmentSpaceFields := models.SpaceFields{} developmentSpaceFields.Name = "development" developmentSpaceFields.GUID = "dev-space-guid-1" stagingSpaceFields := models.SpaceFields{} stagingSpaceFields.Name = "staging" stagingSpaceFields.GUID = "staging-space-guid-1" domainFields := models.DomainFields{} domainFields.Name = "cfapps.io" domainFields.GUID = "1111" domainFields.OwningOrganizationGUID = "my-org-guid" domainFields.Shared = true cfAppDomainFields := models.DomainFields{} cfAppDomainFields.Name = "cf-app.com" cfAppDomainFields.GUID = "2222" cfAppDomainFields.OwningOrganizationGUID = "my-org-guid" cfAppDomainFields.Shared = false org := models.Organization{}