BeforeEach(func() { Flags = append(Flags, "--skip-ssl-validation") }) Describe("setting api endpoint is successful", func() { BeforeEach(func() { Config.SetSSLDisabled(false) }) ItSucceeds() ItShowsTheTarget() It("stores the API endpoint and the skip-ssl flag", func() { Expect(endpointRepo.GetCCInfoCallCount()).To(Equal(1)) Expect(endpointRepo.GetCCInfoArgsForCall(0)).To(Equal("https://api.the-server.com")) Expect(Config.IsSSLDisabled()).To(BeTrue()) }) }) Describe("setting api endpoint failed", func() { BeforeEach(func() { Config.SetSSLDisabled(true) endpointRepo.GetCCInfoReturns(nil, "", errors.New("API endpoint not found")) }) ItFails() ItDoesntShowTheTarget() It("clears the entire config", func() { Expect(Config.APIEndpoint()).To(BeEmpty()) Expect(Config.IsSSLDisabled()).To(BeFalse())
config.SetSSHOAuthClient("oauth-client-id") Expect(config.SSHOAuthClient()).To(Equal("oauth-client-id")) config.SetRefreshToken("the-token") Expect(config.RefreshToken()).To(Equal("the-token")) organization := models.OrganizationFields{Name: "the-org"} config.SetOrganizationFields(organization) Expect(config.OrganizationFields()).To(Equal(organization)) space := models.SpaceFields{Name: "the-space"} config.SetSpaceFields(space) Expect(config.SpaceFields()).To(Equal(space)) config.SetSSLDisabled(false) Expect(config.IsSSLDisabled()).To(BeFalse()) config.SetLocale("en_US") Expect(config.Locale()).To(Equal("en_US")) config.SetPluginRepo(models.PluginRepo{Name: "repo", URL: "nowhere.com"}) Expect(config.PluginRepos()[0].Name).To(Equal("repo")) Expect(config.PluginRepos()[0].URL).To(Equal("nowhere.com")) s, _ := semver.Make("3.1") Expect(config.IsMinAPIVersion(s)).To(Equal(false)) config.SetMinCLIVersion("6.5.0") Expect(config.MinCLIVersion()).To(Equal("6.5.0")) config.SetMinRecommendedCLIVersion("6.9.0")
}) }) Context("when the user does not provide an endpoint", func() { Context("when the endpoint is set in the config", func() { BeforeEach(func() { config.SetAPIEndpoint("https://api.run.pivotal.io") config.SetAPIVersion("2.0") config.SetSSLDisabled(true) }) It("prints out the api endpoint and appropriately sets the config", func() { callApi([]string{}) Expect(ui.Outputs()).To(ContainSubstrings([]string{"https://api.run.pivotal.io", "2.0"})) Expect(config.IsSSLDisabled()).To(BeTrue()) }) Context("when the --unset flag is passed", func() { It("unsets the APIEndpoint", func() { callApi([]string{"--unset"}) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Unsetting api endpoint..."}, []string{"OK"}, []string{"No api endpoint set."}, )) Expect(config.APIEndpoint()).To(Equal("")) }) }) })