Describe("Get", func() { It(`returns "", false if not initialized`, func() { p := ctx.Get("foo") Ω(p).Should(Equal("")) }) }) Describe("GetMany", func() { It("returns nil if not initialized", func() { Ω(ctx.GetMany("foo")).Should(BeNil()) }) }) Describe("RawPayload", func() { It("returns nil if not initialized", func() { Ω(ctx.RawPayload()).Should(BeNil()) }) }) Context("with a request response", func() { const appName = "foo" var app goa.Service const resName = "res" const actName = "act" var handler, unmarshaler goa.Handler const reqBody = `"body"` const respStatus = 200 var respContent = []byte("response") var handleFunc goa.HandleFunc var rw http.ResponseWriter var request *http.Request
}) }) }) Context("with different payload types", func() { content := []byte(`{"hello": "world"}`) decodedContent := map[string]interface{}{"hello": "world"} BeforeEach(func() { r.Header.Set("Content-Type", "application/json") r.Body = ioutil.NopCloser(bytes.NewReader(content)) r.ContentLength = int64(len(content)) }) It("should work with application/json and load properly", func() { Ω(ctx.RawPayload()).Should(Equal(decodedContent)) }) Context("with an empty Content-Type", func() { BeforeEach(func() { delete(r.Header, "Content-Type") }) It("defaults to application/json and loads properly for JSON bodies", func() { Ω(ctx.RawPayload()).Should(Equal(decodedContent)) }) }) Context("with a Content-Type of 'application/octet-stream' or any other", func() { BeforeEach(func() { s.SetDecoder(goa.JSONDecoderFactory(), false, "*/*")