}) It("fails when not logged in", func() { runCommand("label", "provider", "token") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Context("when logged in and the service auth token exists", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true foundAuthToken := models.ServiceAuthTokenFields{} foundAuthToken.Guid = "found-auth-token-guid" foundAuthToken.Label = "found label" foundAuthToken.Provider = "found provider" authTokenRepo.FindByLabelAndProviderServiceAuthTokenFields = foundAuthToken }) It("updates the service auth token with the provided args", func() { runCommand("a label", "a provider", "a value") expectedAuthToken := models.ServiceAuthTokenFields{} expectedAuthToken.Guid = "found-auth-token-guid" expectedAuthToken.Label = "found label" expectedAuthToken.Provider = "found provider" expectedAuthToken.Token = "a value" Expect(ui.Outputs).To(ContainSubstrings( []string{"Updating service auth token as", "my-user"}, []string{"OK"}, ))
Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "arguments"}, )) }) It("fails when not logged in", func() { requirementsFactory.LoginSuccess = false Expect(runCommand()).To(BeFalse()) }) }) Context("when the service auth token exists", func() { BeforeEach(func() { authTokenRepo.FindByLabelAndProviderServiceAuthTokenFields = models.ServiceAuthTokenFields{ Guid: "the-guid", Label: "a label", Provider: "a provider", } }) It("deletes the service auth token", func() { runCommand("a label", "a provider") Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting service auth token as", "my-user"}, []string{"OK"}, )) Expect(authTokenRepo.FindByLabelAndProviderLabel).To(Equal("a label")) Expect(authTokenRepo.FindByLabelAndProviderProvider).To(Equal("a provider")) Expect(authTokenRepo.DeletedServiceAuthTokenFields.Guid).To(Equal("the-guid")) })