mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-14 18:30:02 +08:00
Add test to verify JSON body dumping still works for non-multipart requests
Co-authored-by: kevwan <1918356+kevwan@users.noreply.github.com>
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -90,6 +91,28 @@ func TestAuthHandler_NilError(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAuthHandlerWithJSONBody(t *testing.T) {
|
||||||
|
const key = "B63F477D-BBA3-4E52-96D3-C0034C27694A"
|
||||||
|
|
||||||
|
// Create a request with JSON body
|
||||||
|
jsonBody := `{"username":"test","password":"secret"}`
|
||||||
|
req := httptest.NewRequest(http.MethodPost, "http://localhost/login",
|
||||||
|
strings.NewReader(jsonBody))
|
||||||
|
req.Header.Set("Content-Type", "application/json")
|
||||||
|
// Missing authorization header to trigger the unauthorized path
|
||||||
|
|
||||||
|
handler := Authorize(key)(
|
||||||
|
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.WriteHeader(http.StatusOK)
|
||||||
|
}))
|
||||||
|
|
||||||
|
resp := httptest.NewRecorder()
|
||||||
|
handler.ServeHTTP(resp, req)
|
||||||
|
|
||||||
|
// Should return unauthorized
|
||||||
|
assert.Equal(t, http.StatusUnauthorized, resp.Code)
|
||||||
|
}
|
||||||
|
|
||||||
func TestAuthHandlerWithMultipartFormData(t *testing.T) {
|
func TestAuthHandlerWithMultipartFormData(t *testing.T) {
|
||||||
const key = "B63F477D-BBA3-4E52-96D3-C0034C27694A"
|
const key = "B63F477D-BBA3-4E52-96D3-C0034C27694A"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user