fix: unittest with failfast

This commit is contained in:
debugtalk
2022-04-16 00:36:38 +08:00
parent 810bce0a88
commit 98c23fbd1f
14 changed files with 154 additions and 147 deletions

View File

@@ -17,20 +17,20 @@ var (
func TestGenJSON(t *testing.T) {
jsonPath, err := NewHAR(harPath).GenJSON()
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.NotEmpty(t, jsonPath) {
t.Fail()
t.Fatal()
}
}
func TestGenYAML(t *testing.T) {
yamlPath, err := NewHAR(harPath2).GenYAML()
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.NotEmpty(t, yamlPath) {
t.Fail()
t.Fatal()
}
}
@@ -38,13 +38,13 @@ func TestLoadHAR(t *testing.T) {
har := NewHAR(harPath)
h, err := har.load()
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "GET", h.Log.Entries[0].Request.Method) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "POST", h.Log.Entries[1].Request.Method) {
t.Fail()
t.Fatal()
}
}
@@ -53,18 +53,18 @@ func TestLoadHARWithProfile(t *testing.T) {
har.SetProfile(profilePath)
_, err := har.load()
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t,
map[string]interface{}{"Content-Type": "application/x-www-form-urlencoded"},
har.profile["headers"]) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t,
map[string]interface{}{"UserName": "debugtalk"},
har.profile["cookies"]) {
t.Fail()
t.Fatal()
}
}
@@ -72,73 +72,73 @@ func TestMakeTestCase(t *testing.T) {
har := NewHAR(harPath)
tCase, err := har.makeTestCase()
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
// make request method
if !assert.EqualValues(t, "GET", tCase.TestSteps[0].Request.Method) {
t.Fail()
t.Fatal()
}
if !assert.EqualValues(t, "POST", tCase.TestSteps[1].Request.Method) {
t.Fail()
t.Fatal()
}
// make request url
if !assert.Equal(t, "https://postman-echo.com/get", tCase.TestSteps[0].Request.URL) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "https://postman-echo.com/post", tCase.TestSteps[1].Request.URL) {
t.Fail()
t.Fatal()
}
// make request params
if !assert.Equal(t, "HDnY8", tCase.TestSteps[0].Request.Params["foo1"]) {
t.Fail()
t.Fatal()
}
// make request cookies
if !assert.NotEmpty(t, tCase.TestSteps[1].Request.Cookies["sails.sid"]) {
t.Fail()
t.Fatal()
}
// make request headers
if !assert.Equal(t, "HttpRunnerPlus", tCase.TestSteps[0].Request.Headers["User-Agent"]) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "postman-echo.com", tCase.TestSteps[0].Request.Headers["Host"]) {
t.Fail()
t.Fatal()
}
// make request data
if !assert.Equal(t, nil, tCase.TestSteps[0].Request.Body) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]interface{}{"foo1": "HDnY8", "foo2": 12.3}, tCase.TestSteps[1].Request.Body) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "foo1=HDnY8&foo2=12.3", tCase.TestSteps[2].Request.Body) {
t.Fail()
t.Fatal()
}
// make validators
validator, ok := tCase.TestSteps[0].Validators[0].(hrp.Validator)
if !ok || !assert.Equal(t, "status_code", validator.Check) {
t.Fail()
t.Fatal()
}
validator, ok = tCase.TestSteps[0].Validators[1].(hrp.Validator)
if !ok || !assert.Equal(t, "headers.\"Content-Type\"", validator.Check) {
t.Fail()
t.Fatal()
}
validator, ok = tCase.TestSteps[0].Validators[2].(hrp.Validator)
if !ok || !assert.Equal(t, "body.url", validator.Check) {
t.Fail()
t.Fatal()
}
}
func TestGetFilenameWithoutExtension(t *testing.T) {
filename := getFilenameWithoutExtension(harPath2)
if !assert.Equal(t, "postman-echo", filename) {
t.Fail()
t.Fatal()
}
}
@@ -154,13 +154,13 @@ func TestMakeRequestHeaders(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]string{
"Content-Type": "application/json; charset=utf-8",
}, step.Request.Headers) {
t.Fail()
t.Fatal()
}
}
@@ -177,13 +177,13 @@ func TestMakeRequestHeadersWithProfile(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]string{
"Content-Type": "application/x-www-form-urlencoded",
}, step.Request.Headers) {
t.Fail()
t.Fatal()
}
}
@@ -200,14 +200,14 @@ func TestMakeRequestCookies(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]string{
"abc": "123",
"UserName": "leolee",
}, step.Request.Cookies) {
t.Fail()
t.Fatal()
}
}
@@ -225,13 +225,13 @@ func TestMakeRequestCookiesWithProfile(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]string{
"UserName": "debugtalk",
}, step.Request.Cookies) {
t.Fail()
t.Fatal()
}
}
@@ -251,11 +251,11 @@ func TestMakeRequestDataParams(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, "a=1&b=2", step.Request.Body) {
t.Fail()
t.Fatal()
}
}
@@ -272,11 +272,11 @@ func TestMakeRequestDataJSON(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, map[string]interface{}{"a": "1", "b": "2"}, step.Request.Body) {
t.Fail()
t.Fatal()
}
}
@@ -293,11 +293,11 @@ func TestMakeRequestDataTextEmpty(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, nil, step.Request.Body) { // TODO
t.Fail()
t.Fatal()
}
}
@@ -320,11 +320,11 @@ func TestMakeValidate(t *testing.T) {
}
step, err := har.prepareTestStep(entry)
if !assert.NoError(t, err) {
t.Fail()
t.Fatal()
}
validator, ok := step.Validators[0].(hrp.Validator)
if !ok {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, validator,
hrp.Validator{
@@ -332,12 +332,12 @@ func TestMakeValidate(t *testing.T) {
Expect: 200,
Assert: "equals",
Message: "assert response status code"}) {
t.Fail()
t.Fatal()
}
validator, ok = step.Validators[1].(hrp.Validator)
if !ok {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, validator,
hrp.Validator{
@@ -345,12 +345,12 @@ func TestMakeValidate(t *testing.T) {
Expect: "application/json; charset=utf-8",
Assert: "equals",
Message: "assert response header Content-Type"}) {
t.Fail()
t.Fatal()
}
validator, ok = step.Validators[2].(hrp.Validator)
if !ok {
t.Fail()
t.Fatal()
}
if !assert.Equal(t, validator,
hrp.Validator{
@@ -358,6 +358,6 @@ func TestMakeValidate(t *testing.T) {
Expect: float64(200), // TODO
Assert: "equals",
Message: "assert response body Code"}) {
t.Fail()
t.Fatal()
}
}