示例#1
0
		})

		It("TestUpdateEndpointWhenUrlIsAlreadyTargeted", func() {
			testServerFn = validApiInfoEndpoint

			org := models.OrganizationFields{}
			org.Name = "my-org"
			org.Guid = "my-org-guid"

			space := models.SpaceFields{}
			space.Name = "my-space"
			space.Guid = "my-space-guid"

			config.SetApiEndpoint(testServer.URL)
			config.SetAccessToken("some access token")
			config.SetRefreshToken("some refresh token")
			config.SetOrganizationFields(org)
			config.SetSpaceFields(space)

			repo.UpdateEndpoint(testServer.URL)

			Expect(config.OrganizationFields()).To(Equal(org))
			Expect(config.SpaceFields()).To(Equal(space))
			Expect(config.AccessToken()).To(Equal("some access token"))
			Expect(config.RefreshToken()).To(Equal("some refresh token"))
		})

		It("returns a failure response when the API request fails", func() {
			testServerFn = func(w http.ResponseWriter, r *http.Request) {
				w.WriteHeader(http.StatusNotFound)
			}
示例#2
0
				}))

				testassert.SliceContains(ui.Outputs, testassert.Lines{
					{"Failed"},
				})
			})
		})
	})

	Describe("updates to the config", func() {
		var l Login

		BeforeEach(func() {
			Config.SetApiEndpoint("api.the-old-endpoint.com")
			Config.SetAccessToken("the-old-access-token")
			Config.SetRefreshToken("the-old-refresh-token")
			l = NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo)
		})

		JustBeforeEach(func() {
			testcmd.RunCommand(l, testcmd.NewContext("login", Flags), nil)
		})

		var ItShowsTheTarget = func() {
			It("shows the target", func() {
				Expect(ui.ShowConfigurationCalled).To(BeTrue())
			})
		}

		var ItDoesntShowTheTarget = func() {
			It("does not show the target info", func() {
示例#3
0
			Expect(Config.SpaceFields().Guid).To(BeEmpty())
			Expect(Config.AccessToken()).To(Equal("my_access_token"))
			Expect(Config.RefreshToken()).To(Equal("my_refresh_token"))

			testassert.SliceContains(ui.Outputs, testassert.Lines{
				{"Failed"},
			})
		})
	})

	Context("when the user is already logged in and the config is fully populated", func() {
		BeforeEach(func() {
			Config = testconfig.NewRepositoryWithDefaults()
			Config.SetApiEndpoint("api.example.com")
			Config.SetAccessToken("my_access_token")
			Config.SetRefreshToken("my_refesh_token")
			authRepo.Config = Config
		})

		Describe("and a new login fails to set api endpoint", func() {
			BeforeEach(func() {
				endpointRepo.UpdateEndpointError = errors.NewErrorWithMessage("API endpoint not found")
				Flags = []string{"-a", "api.nonexistent.com"}

				l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo)
				testcmd.RunCommand(l, testcmd.NewContext("login", Flags), nil)
			})

			It("clears the entire config", func() {
				Expect(Config.ApiEndpoint()).To(BeEmpty())
				Expect(Config.AccessToken()).To(BeEmpty())