gopkg.in/raphael/goa.v1@v1.4.2/client/client_test.go (about) 1 package client_test 2 3 import ( 4 "context" 5 6 "github.com/goadesign/goa/client" 7 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 ) 11 12 var _ = Describe("client", func() { 13 Context("with background context", func() { 14 var ctx context.Context 15 16 BeforeEach(func() { 17 ctx = context.Background() 18 }) 19 20 Context("ContextRequestID", func() { 21 It("should have empty request ID", func() { 22 Expect(client.ContextRequestID(ctx)).To(BeEmpty()) 23 }) 24 }) 25 26 Context("ContextWithRequestID", func() { 27 It("should generate a new request ID", func() { 28 newCtx, reqID := client.ContextWithRequestID(ctx) 29 Expect(reqID).ToNot(BeEmpty()) 30 Expect(client.ContextRequestID(newCtx)).To(Equal(reqID)) 31 }) 32 }) 33 34 Context("SetContextRequestID", func() { 35 It("should set a custom request ID", func() { 36 const customID = "foo" 37 newCtx := client.SetContextRequestID(ctx, customID) 38 Expect(newCtx).ToNot(Equal(ctx)) 39 Expect(client.ContextRequestID(newCtx)).To(Equal(customID)) 40 41 // request ID should not need to be generated again. the same context should be returned instead. 42 newCtx2, reqID := client.ContextWithRequestID(newCtx) 43 Expect(newCtx).To(Equal(newCtx2)) 44 Expect(reqID).To(Equal(customID)) 45 }) 46 }) 47 }) 48 })