mirror of
https://github.com/gin-gonic/gin.git
synced 2026-01-15 03:46:57 +08:00
test(context): add tests for multiple JSON and SSE writes in debug mode
This commit is contained in:
parent
8eb015d2bc
commit
dc128b7291
@ -1348,6 +1348,43 @@ func TestContextRenderNoContentData(t *testing.T) {
|
||||
assert.Equal(t, "text/csv", w.Header().Get("Content-Type"))
|
||||
}
|
||||
|
||||
// Test multiple JSON writes in debug mode
|
||||
func TestContextRenderMultipleJSON(t *testing.T) {
|
||||
w := httptest.NewRecorder()
|
||||
c, _ := CreateTestContext(w)
|
||||
|
||||
oldMode := os.Getenv("GIN_MODE")
|
||||
defer os.Setenv("GIN_MODE", oldMode)
|
||||
SetMode(DebugMode)
|
||||
|
||||
output := captureOutput(t, func() {
|
||||
c.JSON(http.StatusOK, H{"foo": "bar"})
|
||||
c.JSON(http.StatusOK, H{"baz": "qux"})
|
||||
})
|
||||
|
||||
assert.Equal(t, http.StatusOK, w.Code)
|
||||
assert.Contains(t, output, "[WARNING] Response body already written")
|
||||
assert.Contains(t, output, "status code 200")
|
||||
}
|
||||
|
||||
// Test multiple SSE writes in debug mode
|
||||
func TestContextRenderMultipleSSE(t *testing.T) {
|
||||
w := httptest.NewRecorder()
|
||||
c, _ := CreateTestContext(w)
|
||||
|
||||
oldMode := os.Getenv("GIN_MODE")
|
||||
defer os.Setenv("GIN_MODE", oldMode)
|
||||
SetMode(DebugMode)
|
||||
|
||||
output := captureOutput(t, func() {
|
||||
c.SSEvent("message", "test1")
|
||||
c.SSEvent("message", "test2")
|
||||
})
|
||||
|
||||
assert.Equal(t, http.StatusOK, w.Code)
|
||||
assert.NotContains(t, output, "[WARNING] Response body already written")
|
||||
}
|
||||
|
||||
func TestContextRenderSSE(t *testing.T) {
|
||||
w := httptest.NewRecorder()
|
||||
c, _ := CreateTestContext(w)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user