From 00ce072086a6302dd104655177d5b457fb4195b9 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sun, 14 Apr 2019 21:40:24 +0900 Subject: [PATCH] add a HTTP integration test that sets and gets request headers --- integrationtests/self/http_test.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/integrationtests/self/http_test.go b/integrationtests/self/http_test.go index 5a98df8a0..0aa4b2d6f 100644 --- a/integrationtests/self/http_test.go +++ b/integrationtests/self/http_test.go @@ -59,14 +59,33 @@ var _ = Describe("HTTP tests", func() { Expect(string(body)).To(Equal("Hello, World!\n")) }) + It("sets and gets request headers", func() { + handlerCalled := make(chan struct{}) + http.HandleFunc("/headers/request", func(w http.ResponseWriter, r *http.Request) { + defer GinkgoRecover() + Expect(r.Header.Get("foo")).To(Equal("bar")) + Expect(r.Header.Get("lorem")).To(Equal("ipsum")) + close(handlerCalled) + }) + + req, err := http.NewRequest(http.MethodGet, "https://localhost:"+testserver.Port()+"/headers/request", nil) + Expect(err).ToNot(HaveOccurred()) + req.Header.Set("foo", "bar") + req.Header.Set("lorem", "ipsum") + resp, err := client.Do(req) + Expect(err).ToNot(HaveOccurred()) + Expect(resp.StatusCode).To(Equal(200)) + Eventually(handlerCalled).Should(BeClosed()) + }) + It("sets and gets response headers", func() { - http.HandleFunc("/headers", func(w http.ResponseWriter, r *http.Request) { + http.HandleFunc("/headers/response", func(w http.ResponseWriter, r *http.Request) { defer GinkgoRecover() w.Header().Set("foo", "bar") w.Header().Set("lorem", "ipsum") }) - resp, err := client.Get("https://localhost:" + testserver.Port() + "/headers") + resp, err := client.Get("https://localhost:" + testserver.Port() + "/headers/response") Expect(err).ToNot(HaveOccurred()) Expect(resp.StatusCode).To(Equal(200)) Expect(resp.Header.Get("foo")).To(Equal("bar"))