From d5cbd1820e6e2c91aadafa6e3c6d0e69f826602b Mon Sep 17 00:00:00 2001 From: debugtalk Date: Fri, 15 Oct 2021 21:25:20 +0800 Subject: [PATCH] feat: post form data --- har2case/core.go | 7 ++++++- har2case/core_test.go | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/har2case/core.go b/har2case/core.go index 1bd2439d..d16f1342 100644 --- a/har2case/core.go +++ b/har2case/core.go @@ -197,7 +197,12 @@ func (s *TStep) makeRequestBody(entry *Entry) error { } s.Request.Body = body } else if strings.HasPrefix(mimeType, "application/x-www-form-urlencoded") { - // TODO: post form data + // post form + var paramsList []string + for _, param := range entry.Request.PostData.Params { + paramsList = append(paramsList, fmt.Sprintf("%s=%s", param.Name, param.Value)) + } + s.Request.Body = strings.Join(paramsList, "&") } return nil } diff --git a/har2case/core_test.go b/har2case/core_test.go index 38081193..34ca1168 100644 --- a/har2case/core_test.go +++ b/har2case/core_test.go @@ -87,7 +87,13 @@ func TestMakeTestCase(t *testing.T) { } // make request data + if !assert.Equal(t, nil, tCase.TestSteps[0].Request.Body) { + t.Fail() + } if !assert.Equal(t, map[string]interface{}{"foo1": "HDnY8", "foo2": 12.3}, tCase.TestSteps[1].Request.Body) { t.Fail() } + if !assert.Equal(t, "foo1=HDnY8&foo2=12.3", tCase.TestSteps[2].Request.Body) { + t.Fail() + } }