github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/pipelineserver/unpause_test.go (about) 1 package pipelineserver_test 2 3 import ( 4 "errors" 5 "net/http" 6 "net/http/httptest" 7 8 "github.com/pf-qiu/concourse/v6/atc/api/pipelineserver" 9 "github.com/pf-qiu/concourse/v6/atc/api/pipelineserver/pipelineserverfakes" 10 "github.com/pf-qiu/concourse/v6/atc/db/dbfakes" 11 . "github.com/onsi/ginkgo" 12 . "github.com/onsi/gomega" 13 ) 14 15 var _ = Describe("Unpause Handler", func() { 16 var ( 17 fakeLogger *pipelineserverfakes.FakeLogger 18 server *pipelineserver.Server 19 dbPipeline *dbfakes.FakePipeline 20 handler http.Handler 21 recorder *httptest.ResponseRecorder 22 request *http.Request 23 ) 24 25 BeforeEach(func() { 26 fakeLogger = new(pipelineserverfakes.FakeLogger) 27 fakeLogger.SessionReturns(fakeLogger) 28 server = pipelineserver.NewServer( 29 fakeLogger, 30 new(dbfakes.FakeTeamFactory), 31 new(dbfakes.FakePipelineFactory), 32 "", 33 ) 34 dbPipeline = new(dbfakes.FakePipeline) 35 handler = server.UnpausePipeline(dbPipeline) 36 recorder = httptest.NewRecorder() 37 request = httptest.NewRequest("PUT", "http://example.com", nil) 38 }) 39 40 Context("when there is a database error", func() { 41 var expectedError error 42 43 BeforeEach(func() { 44 expectedError = errors.New("db error") 45 dbPipeline.UnpauseReturns(expectedError) 46 }) 47 48 It("logs the error", func() { 49 handler.ServeHTTP(recorder, request) 50 51 Expect(fakeLogger.ErrorCallCount()).To(Equal(1)) 52 action, actualError, _ := fakeLogger.ErrorArgsForCall(0) 53 Expect(action).To(Equal("failed-to-unpause-pipeline"), "wrong action name") 54 Expect(actualError).To(Equal(expectedError)) 55 }) 56 57 It("returns a 500 status code", func() { 58 handler.ServeHTTP(recorder, request) 59 60 Expect(recorder.Code).To(Equal(http.StatusInternalServerError)) 61 }) 62 }) 63 })