test(01-02): add failing tests for oversized body (413) - RED
- TestWebhookHandler_OversizedBody: POST /webhook with >1MB body expects 413 - TestTagsHandler_OversizedBody: POST /api/tags with >1MB body expects 413 - TestTagAssignmentHandler_OversizedBody: PUT /api/tag-assignments with >1MB body expects 413
This commit is contained in:
@@ -613,6 +613,46 @@ func TestGetUpdates_IncludesTag(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWebhookHandler_OversizedBody(t *testing.T) {
|
||||
// Generate a body that exceeds 1 MB (maxBodyBytes = 1<<20 = 1,048,576 bytes)
|
||||
oversized := make([]byte, 1<<20+1)
|
||||
for i := range oversized {
|
||||
oversized[i] = 'x'
|
||||
}
|
||||
req := httptest.NewRequest(http.MethodPost, "/webhook", bytes.NewReader(oversized))
|
||||
rec := httptest.NewRecorder()
|
||||
diun.WebhookHandler(rec, req)
|
||||
if rec.Code != http.StatusRequestEntityTooLarge {
|
||||
t.Errorf("expected 413 for oversized body, got %d", rec.Code)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTagsHandler_OversizedBody(t *testing.T) {
|
||||
oversized := make([]byte, 1<<20+1)
|
||||
for i := range oversized {
|
||||
oversized[i] = 'x'
|
||||
}
|
||||
req := httptest.NewRequest(http.MethodPost, "/api/tags", bytes.NewReader(oversized))
|
||||
rec := httptest.NewRecorder()
|
||||
diun.TagsHandler(rec, req)
|
||||
if rec.Code != http.StatusRequestEntityTooLarge {
|
||||
t.Errorf("expected 413 for oversized body, got %d", rec.Code)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTagAssignmentHandler_OversizedBody(t *testing.T) {
|
||||
oversized := make([]byte, 1<<20+1)
|
||||
for i := range oversized {
|
||||
oversized[i] = 'x'
|
||||
}
|
||||
req := httptest.NewRequest(http.MethodPut, "/api/tag-assignments", bytes.NewReader(oversized))
|
||||
rec := httptest.NewRecorder()
|
||||
diun.TagAssignmentHandler(rec, req)
|
||||
if rec.Code != http.StatusRequestEntityTooLarge {
|
||||
t.Errorf("expected 413 for oversized body, got %d", rec.Code)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUpdateEvent_PreservesTagOnUpsert(t *testing.T) {
|
||||
diun.UpdatesReset()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user