add: better logging in user controller and tests

This commit is contained in:
$(pass /github/name)
2024-09-05 16:38:23 +02:00
parent ae2ab42969
commit 4e5e0963c7
2 changed files with 47 additions and 15 deletions

View File

@@ -3,6 +3,7 @@ package controllers
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/http/httptest"
"net/url"
@@ -40,7 +41,8 @@ func (rt *RegisterUserTest) RunHandler(c *gin.Context, router *gin.Engine) {
func (rt *RegisterUserTest) ValidateResponse(w *httptest.ResponseRecorder) error {
if w.Code != rt.WantResponse {
return fmt.Errorf("Didn't get the expected response code: got: %v; expected: %v", w.Code, rt.WantResponse)
responseBody, _ := io.ReadAll(w.Body)
return fmt.Errorf("Register User: Didn't get the expected response code: got: %v; expected: %v. Context: %#v", w.Code, rt.WantResponse, string(responseBody))
}
return nil
}
@@ -55,7 +57,7 @@ func TestUserController(t *testing.T) {
for _, tt := range tests {
t.Run(tt.Name, func(t *testing.T) {
if err := runSingleTest(&tt); err != nil {
t.Errorf("Test failed: %v", err.Error())
t.Fatalf("Test failed: %v", err.Error())
}
})
}
@@ -118,10 +120,10 @@ func testLoginUser(t *testing.T) {
if tt.wantToken {
logger.Info.Printf("Response: %#v", response)
assert.Contains(t, response, "token")
assert.NotEmpty(t, response["token"])
assert.Contains(t, response, "set-token")
assert.NotEmpty(t, response["set-token"])
} else {
assert.NotContains(t, response, "token")
assert.NotContains(t, response, "set-token")
}
})
}
@@ -291,7 +293,7 @@ func verifyMail(verificationURL string) error {
router := gin.New()
router.LoadHTMLGlob(filepath.Join(config.Templates.HTMLPath, "*"))
router.GET("/verify", Uc.VerifyMailHandler)
router.GET("/users/verify", Uc.VerifyMailHandler)
wv := httptest.NewRecorder()
cv, _ := gin.CreateTestContext(wv)
var err error
@@ -301,7 +303,10 @@ func verifyMail(verificationURL string) error {
}
router.ServeHTTP(wv, cv.Request)
if wv.Code != 200 {
return fmt.Errorf("Didn't get the expected response code: got: %v; expected: %v", wv.Code, 200)
responseBody, _ := io.ReadAll(wv.Body)
return fmt.Errorf("VerifyMail: Didn't get the expected response code: got: %v; expected: %v Context: %#v", wv.Code, 200, string(responseBody))
}
return nil
}