Skip to content

Commit

Permalink
refactoring test assertions for consistency & readability
Browse files Browse the repository at this point in the history
  • Loading branch information
jwtly10 committed Feb 25, 2025
1 parent 3c7a988 commit 6504bb1
Show file tree
Hide file tree
Showing 15 changed files with 110 additions and 111 deletions.
28 changes: 14 additions & 14 deletions ctx_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,10 @@ func TestContext_QueryParam(t *testing.T) {
require.Equal(t, 456, paramInt)

paramInt = c.QueryParamInt("notfound")
require.Equal(t, 0, paramInt)
require.Zero(t, paramInt)

paramInt = c.QueryParamInt("other")
require.Equal(t, 0, paramInt)
require.Zero(t, paramInt)

paramInt, err := c.QueryParamIntErr("id")
require.NoError(t, err)
Expand All @@ -139,12 +139,12 @@ func TestContext_QueryParam(t *testing.T) {
paramInt, err = c.QueryParamIntErr("notfound")
require.Error(t, err)
require.Equal(t, "param notfound not found", err.Error())
require.Equal(t, 0, paramInt)
require.Zero(t, paramInt)

paramInt, err = c.QueryParamIntErr("other")
require.Error(t, err)
require.Contains(t, err.Error(), "param other=hello is not of type int")
require.Equal(t, 0, paramInt)
require.Zero(t, paramInt)
})

t.Run("bool", func(t *testing.T) {
Expand All @@ -153,22 +153,22 @@ func TestContext_QueryParam(t *testing.T) {
require.Equal(t, "true", param)

paramBool := c.QueryParamBool("boo")
require.Equal(t, true, paramBool)
require.True(t, paramBool)

paramBool = c.QueryParamBool("notfound")
require.Equal(t, false, paramBool)
require.False(t, paramBool)

paramBool, err := c.QueryParamBoolErr("boo")
require.NoError(t, err)
require.Equal(t, true, paramBool)
require.True(t, paramBool)

paramBool, err = c.QueryParamBoolErr("notfound")
require.Error(t, err)
require.Equal(t, false, paramBool)
require.False(t, paramBool)

paramBool, err = c.QueryParamBoolErr("other")
require.Error(t, err)
require.Equal(t, false, paramBool)
require.False(t, paramBool)
})

t.Run("slice", func(t *testing.T) {
Expand All @@ -189,8 +189,8 @@ func TestContext_QueryParams(t *testing.T) {

params := c.QueryParams()
require.NotEmpty(t, params)
require.Equal(t, params["id"], []string{"456"})
require.Equal(t, params["other"], []string{"hello"})
require.Equal(t, []string{"456"}, params["id"])
require.Equal(t, []string{"hello"}, params["other"])
require.Empty(t, params["notfound"])
}

Expand Down Expand Up @@ -419,7 +419,7 @@ age: 30
body, err := c.Body()
require.Error(t, err)
require.Equal(t, "", body.Name)
require.Equal(t, 0, body.Age)
require.Zero(t, body.Age)
})

t.Run("can read string body", func(t *testing.T) {
Expand Down Expand Up @@ -557,8 +557,8 @@ func TestMainLang(t *testing.T) {
r.Header.Set("Accept-Language", "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5")

c := NewNetHTTPContext[any](BaseRoute{}, httptest.NewRecorder(), r, readOptions{})
require.Equal(t, c.MainLang(), "fr")
require.Equal(t, c.MainLocale(), "fr-CH")
require.Equal(t, "fr", c.MainLang())
require.Equal(t, "fr-CH", c.MainLocale())
}

func TestContextNoBody_Body(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions deserialization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -279,11 +279,11 @@ func TestConvertSQLNullString(t *testing.T) {
func TestConvertSQLNullBool(t *testing.T) {
t.Run("convert sql.NullBool", func(t *testing.T) {
v := convertSQLNullBool("false")
require.Equal(t, false, v.Interface().(sql.NullBool).Bool)
require.False(t, v.Interface().(sql.NullBool).Bool)
})

t.Run("cannot convert sql.NullBool", func(t *testing.T) {
v := convertSQLNullBool("hello")
require.Equal(t, v, reflect.Value{})
require.Equal(t, reflect.Value{}, v)
})
}
2 changes: 1 addition & 1 deletion engine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func TestWithErrorHandler(t *testing.T) {
Err: errors.New("Not Found"),
}
errResponse := e.ErrorHandler(err)
require.Nil(t, errResponse, "error handler can return nil, which might lead to unexpected behavior")
require.NoError(t, errResponse, "error handler can return nil, which might lead to unexpected behavior")
})
}

Expand Down
1 change: 0 additions & 1 deletion examples/openapi-generate/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ func helloWorld(c fuego.ContextNoBody) (string, error) {
// GetServer is a representation of "central" server configuration
// that can be used in multiple places, e.g. in the main function and in the OpenAPI spec generation script.
func GetServer() *fuego.Server {

s := fuego.NewServer()
// Disable local save of the OpenAPI spec after runtime
s.Engine.OpenAPI.Config.DisableLocalSave = true
Expand Down
4 changes: 2 additions & 2 deletions html_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func TestRender(t *testing.T) {
s.Mux.ServeHTTP(w, r)

require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, w.Body.String(), "<main>\n <h1>Test</h1>\n <p>Your name is: test</p>\n</main>\n")
require.Equal(t, "<main>\n <h1>Test</h1>\n <p>Your name is: test</p>\n</main>\n", w.Body.String())
})

t.Run("Render twice", func(t *testing.T) {
Expand All @@ -39,7 +39,7 @@ func TestRender(t *testing.T) {
s.Mux.ServeHTTP(w, r)

require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, w.Body.String(), "<main>\n <h1>Test</h1>\n <p>Your name is: test</p>\n</main>\n")
require.Equal(t, "<main>\n <h1>Test</h1>\n <p>Your name is: test</p>\n</main>\n", w.Body.String())
})

t.Run("cannot parse unexisting file", func(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions mock_context_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,8 @@ func TestSearchUsersController(t *testing.T) {
}

// Check success cases
assert.NoError(t, err)
assert.Equal(t, tt.expected, response)
require.NoError(t, err)
require.Equal(t, tt.expected, response)
})
}
}
Expand Down
70 changes: 35 additions & 35 deletions net_http_mux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ func TestUseStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestAll(t *testing.T) {
Expand All @@ -133,7 +133,7 @@ func TestAll(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
})

Expand All @@ -143,7 +143,7 @@ func TestAll(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
})
}
Expand All @@ -159,7 +159,7 @@ func TestGet(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
}

Expand All @@ -174,7 +174,7 @@ func TestPost(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
}

Expand All @@ -189,7 +189,7 @@ func TestPut(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
}

Expand All @@ -204,7 +204,7 @@ func TestPatch(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
}

Expand All @@ -219,8 +219,8 @@ func TestDelete(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, "test", "test", w.Body.String())
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test", w.Body.String())
}

func TestHandle(t *testing.T) {
Expand All @@ -236,8 +236,8 @@ func TestHandle(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestAllStd(t *testing.T) {
Expand All @@ -254,8 +254,8 @@ func TestAllStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
})

t.Run("post", func(t *testing.T) {
Expand All @@ -265,8 +265,8 @@ func TestAllStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
})
}

Expand All @@ -283,8 +283,8 @@ func TestGetStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestPostStd(t *testing.T) {
Expand All @@ -300,8 +300,8 @@ func TestPostStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestPutStd(t *testing.T) {
Expand All @@ -317,8 +317,8 @@ func TestPutStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestPatchStd(t *testing.T) {
Expand All @@ -334,8 +334,8 @@ func TestPatchStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestDeleteStd(t *testing.T) {
Expand All @@ -351,8 +351,8 @@ func TestDeleteStd(t *testing.T) {

s.Mux.ServeHTTP(w, r)

require.Equal(t, w.Code, http.StatusOK)
require.Equal(t, w.Body.String(), "test successful")
require.Equal(t, http.StatusOK, w.Code)
require.Equal(t, "test successful", w.Body.String())
}

func TestRegister(t *testing.T) {
Expand Down Expand Up @@ -435,7 +435,7 @@ func TestGroupInheritance(t *testing.T) {
return "test", nil
})

require.Equal(t, 3, len(route.Operation.Parameters))
require.Len(t, route.Operation.Parameters, 3)
require.NotNil(t, route.Operation.Parameters.GetByInAndName("header", "Header-1"))
require.NotNil(t, route.Operation.Parameters.GetByInAndName("header", "Header-2"))
require.NotNil(t, route.Operation.Parameters.GetByInAndName("header", "Accept"))
Expand Down Expand Up @@ -487,8 +487,8 @@ func TestHideOpenapiRoutes(t *testing.T) {
s.Hide()
Get(s, "/test", func(ctx ContextNoBody) (string, error) { return "", nil })

require.True(t, s.OpenAPI.Description().Paths.Find("/not-hidden") != nil)
require.True(t, s.OpenAPI.Description().Paths.Find("/test") == nil)
require.NotNil(t, s.OpenAPI.Description().Paths.Find("/not-hidden"))
require.Nil(t, s.OpenAPI.Description().Paths.Find("/test"))
})

t.Run("hide group", func(t *testing.T) {
Expand All @@ -498,8 +498,8 @@ func TestHideOpenapiRoutes(t *testing.T) {
g := Group(s, "/group").Hide()
Get(g, "/test", func(ctx ContextNoBody) (string, error) { return "", nil })

require.True(t, s.OpenAPI.Description().Paths.Find("/not-hidden") != nil)
require.True(t, s.OpenAPI.Description().Paths.Find("/group/test") == nil)
require.NotNil(t, s.OpenAPI.Description().Paths.Find("/not-hidden"))
require.Nil(t, s.OpenAPI.Description().Paths.Find("/group/test"))
})

t.Run("hide group but not other group", func(t *testing.T) {
Expand All @@ -510,8 +510,8 @@ func TestHideOpenapiRoutes(t *testing.T) {
g2 := Group(s, "/group2")
Get(g2, "/test", func(ctx ContextNoBody) (string, error) { return "test", nil })

require.True(t, s.OpenAPI.Description().Paths.Find("/group/test") == nil)
require.True(t, s.OpenAPI.Description().Paths.Find("/group2/test") != nil)
require.Nil(t, s.OpenAPI.Description().Paths.Find("/group/test"))
require.NotNil(t, s.OpenAPI.Description().Paths.Find("/group2/test"))
})

t.Run("hide group but show sub group", func(t *testing.T) {
Expand All @@ -522,8 +522,8 @@ func TestHideOpenapiRoutes(t *testing.T) {
g2 := Group(g, "/sub").Show()
Get(g2, "/test", func(ctx ContextNoBody) (string, error) { return "test", nil })

require.True(t, s.OpenAPI.Description().Paths.Find("/group/test") == nil)
require.True(t, s.OpenAPI.Description().Paths.Find("/group/sub/test") != nil)
require.Nil(t, s.OpenAPI.Description().Paths.Find("/group/test"))
require.NotNil(t, s.OpenAPI.Description().Paths.Find("/group/sub/test"))
})
}

Expand Down
6 changes: 3 additions & 3 deletions openapi_operations_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func TestTags(t *testing.T) {
require.Equal(t, []string{"my-tag"}, route.Operation.Tags)
require.Equal(t, "#### Controller: \n\n`github.com/go-fuego/fuego.testController`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\nmy description", route.Operation.Description)
require.Equal(t, "my summary", route.Operation.Summary)
require.Equal(t, true, route.Operation.Deprecated)
require.True(t, route.Operation.Deprecated)
}

func TestAddTags(t *testing.T) {
Expand All @@ -33,7 +33,7 @@ func TestAddTags(t *testing.T) {
OptionTags("my-other-tag"),
)

require.Equal(t, route.Operation.Tags, []string{"my-tag", "my-other-tag"})
require.Equal(t, []string{"my-tag", "my-other-tag"}, route.Operation.Tags)
})

t.Run("with auto group tags", func(t *testing.T) {
Expand Down Expand Up @@ -220,7 +220,7 @@ func TestCookieParams(t *testing.T) {
cookieParam := route.Operation.Parameters.GetByInAndName("cookie", "my-cookie")
t.Logf("%#v", cookieParam.Examples["example"].Value)
require.Equal(t, "my description", cookieParam.Description)
require.Equal(t, true, cookieParam.Required)
require.True(t, cookieParam.Required)
require.Equal(t, "my-example", cookieParam.Examples["example"].Value.Value)
})
}
Loading

0 comments on commit 6504bb1

Please sign in to comment.