Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb9e2b61

Browse files
committed
added checking the logger fields in the test
1 parent81e1527 commitb9e2b61

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

‎coderd/httpmw/logger_internal_test.go‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ func TestLoggerMiddleware_SingleRequest(t *testing.T) {
5252
logger:=slog.Make(sink)
5353
logger=logger.Leveled(slog.LevelDebug)
5454

55+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitShort)
56+
defercancel()
57+
5558
// Create a test handler to simulate an HTTP request
5659
testHandler:=http.HandlerFunc(func(rw http.ResponseWriter,r*http.Request) {
5760
rw.WriteHeader(http.StatusOK)
@@ -63,7 +66,7 @@ func TestLoggerMiddleware_SingleRequest(t *testing.T) {
6366
wrappedHandler:=loggerMiddleware(testHandler)
6467

6568
// Create a test HTTP request
66-
req,err:=http.NewRequestWithContext(context.Background(),http.MethodGet,"/test-path",nil)
69+
req,err:=http.NewRequestWithContext(ctx,http.MethodGet,"/test-path",nil)
6770
iferr!=nil {
6871
t.Fatalf("failed to create request: %v",err)
6972
}
@@ -76,6 +79,24 @@ func TestLoggerMiddleware_SingleRequest(t *testing.T) {
7679
require.Len(t,sink.entries,1,"log was written twice")
7780

7881
require.Equal(t,sink.entries[0].Message,"GET","log message should be GET")
82+
83+
fieldsMap:=make(map[string]interface{})
84+
for_,field:=rangesink.entries[0].Fields {
85+
fieldsMap[field.Name]=field.Value
86+
}
87+
88+
// Check that the log contains the expected fields
89+
requiredFields:= []string{"host","path","proto","remote_addr","start","took","status_code","latency_ms"}
90+
for_,field:=rangerequiredFields {
91+
_,exists:=fieldsMap[field]
92+
require.True(t,exists,"field %q is missing in log fields",field)
93+
}
94+
95+
require.Len(t,sink.entries[0].Fields,len(requiredFields),"log should contain only the required fields")
96+
97+
// Check value of the status code
98+
require.Equal(t,fieldsMap["status_code"],http.StatusOK,"status_code should be 200")
99+
79100
}
80101

81102
funcTestLoggerMiddleware_WebSocket(t*testing.T) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp