func (this HTTPTranslator) BuildRequestDefinitionFromHTTP(req *http.Request) definition.Request { res := definition.Request{} res.Method = req.Method res.Path = req.URL.Path res.Headers = make(definition.Values) for header, values := range req.Header { if header != "Cookie" { res.Headers[header] = values } } res.Cookies = make(definition.Cookies) for _, cookie := range req.Cookies() { res.Cookies[cookie.Name] = cookie.Value } res.QueryStringParameters = make(definition.Values) for name, values := range req.URL.Query() { res.QueryStringParameters[name] = values } body, _ := ioutil.ReadAll(req.Body) res.Body = string(body) return res }
func TestReplaceTagWithSpace(t *testing.T) { req := definition.Request{} val := make(definition.Values) val["param1"] = []string{"valParam"} req.QueryStringParameters = val cookie := make(definition.Cookies) cookie["cookie1"] = "valCookie" req.Cookies = cookie res := definition.Response{} res.Body = "Request {{request.query.param1}}. Cookie: {{request.cookie.cookie1}}. Random: {{fake.UserName}}" faker := FakeDataParse{DummyDataFaker{"AleixMG"}} faker.Parse(&req, &res) if res.Body != "Request valParam. Cookie: valCookie. Random: AleixMG" { t.Error("Replaced tags in body not match", res.Body) } }