@@ -73,3 +73,47 @@ func TestIsAIAPIPathIncludesImages(t *testing.T) {
7373 t .Fatalf ("expected /v1/videos/video_123 to be treated as AI API path" )
7474 }
7575}
76+
77+ func TestIsAIAPIPathIncludesCodexBackend (t * testing.T ) {
78+ paths := []string {
79+ "/backend-api/codex/responses" ,
80+ "/backend-api/codex/responses/compact" ,
81+ }
82+ for _ , path := range paths {
83+ if ! isAIAPIPath (path ) {
84+ t .Fatalf ("expected %s to be treated as AI API path" , path )
85+ }
86+ }
87+ if isAIAPIPath ("/backend-api/codex-status" ) {
88+ t .Fatalf ("expected /backend-api/codex-status not to be treated as AI API path" )
89+ }
90+ }
91+
92+ func TestGinLogrusLoggerAddsRequestIDForCodexBackend (t * testing.T ) {
93+ gin .SetMode (gin .TestMode )
94+
95+ engine := gin .New ()
96+ engine .Use (GinLogrusLogger ())
97+
98+ var requestIDFromContext string
99+ var requestIDFromGin string
100+ engine .POST ("/backend-api/codex/responses" , func (c * gin.Context ) {
101+ requestIDFromContext = GetRequestID (c .Request .Context ())
102+ requestIDFromGin = GetGinRequestID (c )
103+ c .Status (http .StatusOK )
104+ })
105+
106+ req := httptest .NewRequest (http .MethodPost , "/backend-api/codex/responses" , nil )
107+ recorder := httptest .NewRecorder ()
108+ engine .ServeHTTP (recorder , req )
109+
110+ if recorder .Code != http .StatusOK {
111+ t .Fatalf ("expected 200, got %d" , recorder .Code )
112+ }
113+ if requestIDFromContext == "" {
114+ t .Fatalf ("expected request ID in request context" )
115+ }
116+ if requestIDFromGin != requestIDFromContext {
117+ t .Fatalf ("expected Gin request ID %q to match context request ID %q" , requestIDFromGin , requestIDFromContext )
118+ }
119+ }
0 commit comments