예제 #1
0
		JustBeforeEach(func() {
			err = auth.Authenticate(map[string]string{
				"username": "******",
				"password": "******",
			})
		})

		Describe("when login succeeds", func() {
			BeforeEach(func() {
				setupTestServer(successfulLoginRequest)
			})

			It("stores the access and refresh tokens in the config", func() {
				Expect(handler).To(HaveAllRequestsCalled())
				Expect(err).NotTo(HaveOccurred())
				Expect(config.AuthenticationEndpoint()).To(Equal(testServer.URL))
				Expect(config.AccessToken()).To(Equal("BEARER my_access_token"))
				Expect(config.RefreshToken()).To(Equal("my_refresh_token"))
			})
		})

		Describe("when login fails", func() {
			BeforeEach(func() {
				setupTestServer(unsuccessfulLoginRequest)
			})

			It("returns an error", func() {
				Expect(handler).To(HaveAllRequestsCalled())
				Expect(err).NotTo(BeNil())
				Expect(err.Error()).To(Equal("Credentials were rejected, please try again."))
				Expect(config.AccessToken()).To(BeEmpty())
예제 #2
0
				org.Name = "my-org"
				org.Guid = "my-org-guid"

				space.Name = "my-space"
				space.Guid = "my-space-guid"

				config.SetOrganizationFields(org)
				config.SetSpaceFields(space)
				testServerFn = validApiInfoEndpoint
			})

			It("stores the data from the /info api in the config", func() {
				repo.UpdateEndpoint(testServer.URL)

				Expect(config.AccessToken()).To(Equal(""))
				Expect(config.AuthenticationEndpoint()).To(Equal("https://login.example.com"))
				Expect(config.LoggregatorEndpoint()).To(Equal("wss://loggregator.foo.example.org:4443"))
				Expect(config.ApiEndpoint()).To(Equal(testServer.URL))
				Expect(config.ApiVersion()).To(Equal("42.0.0"))
				Expect(config.HasOrganization()).To(BeFalse())
				Expect(config.HasSpace()).To(BeFalse())
			})

			Context("when the api endpoint does not change", func() {
				BeforeEach(func() {
					config.SetApiEndpoint(testServer.URL)
					config.SetAccessToken("some access token")
					config.SetRefreshToken("some refresh token")
				})

				It("does not clear the session if the api endpoint does not change", func() {