Expect(output).To(ContainSubstrings([]string{"Not logged in", "Use", "log in"})) }) }) Context("when an api endpoint is set and the user logged in", func() { var config core_config.ReadWriter BeforeEach(func() { accessToken := core_config.TokenInfo{ UserGuid: "my-user-guid", Username: "******", Email: "my-user-email", } config = testconfig.NewRepositoryWithAccessToken(accessToken) config.SetApiEndpoint("https://test.example.org") config.SetApiVersion("☃☃☃") }) Describe("tells the user what is set in the config", func() { var output []string JustBeforeEach(func() { output = io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, NewTeePrinter()) ui.ShowConfiguration(config) }) }) It("tells the user which api endpoint is set", func() { Expect(output).To(ContainSubstrings([]string{"API endpoint:", "https://test.example.org"})) })
[]string{"user2"}, []string{"SPACE DEVELOPER"}, []string{"user4"}, []string{"SPACE AUDITOR"}, []string{"user3"}, )) }) Context("when cc api verson is >= 2.21.0", func() { BeforeEach(func() { userRepo.ListUsersInSpaceForRole_CallCount = 0 userRepo.ListUsersInSpaceForRoleWithNoUAA_CallCount = 0 }) It("calls ListUsersInSpaceForRoleWithNoUAA()", func() { config.SetApiVersion("2.22.0") runCommand("my-org", "my-sapce") Expect(userRepo.ListUsersInSpaceForRoleWithNoUAA_CallCount).To(BeNumerically(">=", 1)) Expect(userRepo.ListUsersInSpaceForRole_CallCount).To(Equal(0)) }) }) Context("when cc api verson is < 2.21.0", func() { It("calls ListUsersInSpaceForRole()", func() { config.SetApiVersion("2.20.0") runCommand("my-org", "my-space") Expect(userRepo.ListUsersInSpaceForRoleWithNoUAA_CallCount).To(Equal(0)) Expect(userRepo.ListUsersInSpaceForRole_CallCount).To(BeNumerically(">=", 1)) })
var _ = Describe("NotifyUpdateIfNeeded", func() { var ( ui *testterm.FakeUI config core_config.ReadWriter ) BeforeEach(func() { ui = new(testterm.FakeUI) config = testconfig.NewRepository() }) It("Prints a notification to user if current version < min cli version", func() { config.SetMinCliVersion("6.0.0") config.SetMinRecommendedCliVersion("6.5.0") config.SetApiVersion("2.15.1") cf.Version = "5.0.0" NotifyUpdateIfNeeded(ui, config) Ω(ui.Outputs).To(ContainSubstrings([]string{"Cloud Foundry API version", "requires CLI version 6.0.0", "You are currently on version 5.0.0", "To upgrade your CLI, please visit: https://github.com/cloudfoundry/cli#downloads", })) }) It("Doesn't print a notification to user if current version >= min cli version", func() { config.SetMinCliVersion("6.0.0") config.SetMinRecommendedCliVersion("6.5.0") config.SetApiVersion("2.15.1") cf.Version = "6.0.0"
strategy := strategy.NewEndpointStrategy(config.ApiVersion()) repo = NewCloudControllerDomainRepository(config, gateway, strategy) }) AfterEach(func() { ts.Close() }) var setupTestServer = func(reqs ...testnet.TestRequest) { ts, handler = testnet.NewServer(reqs) config.SetApiEndpoint(ts.URL) } Describe("listing domains", func() { BeforeEach(func() { config.SetApiVersion("2.2.0") setupTestServer(firstPagePrivateDomainsRequest, secondPagePrivateDomainsRequest, firstPageSharedDomainsRequest, secondPageSharedDomainsRequest) }) It("uses the organization-scoped domains endpoints", func() { receivedDomains := []models.DomainFields{} apiErr := repo.ListDomainsForOrg("my-org-guid", func(d models.DomainFields) bool { receivedDomains = append(receivedDomains, d) return true }) Expect(apiErr).NotTo(HaveOccurred()) Expect(len(receivedDomains)).To(Equal(6)) Expect(receivedDomains[0].Guid).To(Equal("domain1-guid")) Expect(receivedDomains[1].Guid).To(Equal("domain2-guid")) Expect(receivedDomains[2].Guid).To(Equal("domain3-guid"))