logsRepo = NewLoggregatorLogsRepository(configRepo, fakeConsumer, authRepo) }) Describe("RecentLogsFor", func() { Context("when a noaa_errors.UnauthorizedError occurs", func() { BeforeEach(func() { fakeConsumer.RecentReturns.Err = []error{ noaa_errors.NewUnauthorizedError("i'm sorry dave"), nil, } }) It("refreshes the access token", func() { _, err := logsRepo.RecentLogsFor("app-guid") Expect(err).ToNot(HaveOccurred()) Expect(authRepo.RefreshAuthTokenCallCount()).To(Equal(1)) }) }) Context("when an error occurs", func() { BeforeEach(func() { fakeConsumer.RecentReturns.Err = []error{errors.New("oops")} }) It("returns the error", func() { _, err := logsRepo.RecentLogsFor("app-guid") Expect(err).To(Equal(errors.New("oops"))) }) }) Context("when an error does not occur", func() {
requirementsFactory.LoginSuccess = true runCommand(nil) Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "argument"}, )) }) }) Describe("when logged in", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true }) It("refreshes the auth token", func() { runCommand([]string{"service"}) Expect(tokenRefresher.RefreshAuthTokenCallCount()).To(Equal(1)) }) Context("when refreshing the auth token fails", func() { It("fails and returns the error", func() { tokenRefresher.RefreshAuthTokenReturns("", errors.New("Refreshing went wrong")) runCommand([]string{"service"}) Expect(ui.Outputs).To(ContainSubstrings( []string{"Refreshing went wrong"}, []string{"FAILED"}, )) }) }) Context("when the named service exists", func() {