@@ -26,7 +26,7 @@ func init() {
2626func TestNewAuditor (t * testing.T ) {
2727 t .Parallel ()
2828 config := & Config {}
29- auditor , err := NewAuditor (config )
29+ auditor , err := NewAuditorWithTransport (config , "sse" )
3030
3131 assert .NoError (t , err )
3232 assert .NotNil (t , auditor )
@@ -36,7 +36,7 @@ func TestNewAuditor(t *testing.T) {
3636func TestAuditorMiddlewareDisabled (t * testing.T ) {
3737 t .Parallel ()
3838 config := & Config {}
39- auditor , err := NewAuditor (config )
39+ auditor , err := NewAuditorWithTransport (config , "sse" )
4040 require .NoError (t , err )
4141
4242 handler := http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
@@ -61,7 +61,7 @@ func TestAuditorMiddlewareWithRequestData(t *testing.T) {
6161 IncludeRequestData : true ,
6262 MaxDataSize : 1024 ,
6363 }
64- auditor , err := NewAuditor (config )
64+ auditor , err := NewAuditorWithTransport (config , "sse" )
6565 require .NoError (t , err )
6666
6767 handler := http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
@@ -91,7 +91,7 @@ func TestAuditorMiddlewareWithResponseData(t *testing.T) {
9191 IncludeResponseData : true ,
9292 MaxDataSize : 1024 ,
9393 }
94- auditor , err := NewAuditor (config )
94+ auditor , err := NewAuditorWithTransport (config , "sse" )
9595 require .NoError (t , err )
9696
9797 responseData := `{"result": "success"}`
@@ -114,38 +114,43 @@ func TestAuditorMiddlewareWithResponseData(t *testing.T) {
114114
115115func TestDetermineEventType (t * testing.T ) {
116116 t .Parallel ()
117- auditor , err := NewAuditor (& Config {})
118- require .NoError (t , err )
119117
120118 tests := []struct {
121- name string
122- path string
123- method string
124- expected string
119+ name string
120+ path string
121+ method string
122+ transport string
123+ expected string
125124 }{
126125 {
127- name : "SSE endpoint" ,
128- path : "/sse" ,
129- method : "GET" ,
130- expected : EventTypeMCPInitialize ,
126+ name : "SSE endpoint" ,
127+ path : "/sse" ,
128+ method : "GET" ,
129+ transport : "sse" ,
130+ expected : EventTypeMCPInitialize ,
131131 },
132132 {
133- name : "MCP messages endpoint" ,
134- path : "/messages" ,
135- method : "POST" ,
136- expected : "mcp_request" , // Since extractMCPMethod returns empty
133+ name : "MCP messages endpoint" ,
134+ path : "/messages" ,
135+ method : "POST" ,
136+ transport : "streamable-http" ,
137+ expected : "mcp_request" , // Since extractMCPMethod returns empty
137138 },
138139 {
139- name : "Regular HTTP request" ,
140- path : "/api/health" ,
141- method : "GET" ,
142- expected : "http_request" ,
140+ name : "Regular HTTP request" ,
141+ path : "/api/health" ,
142+ method : "GET" ,
143+ transport : "streamable-http" ,
144+ expected : "http_request" ,
143145 },
144146 }
145147
146148 for _ , tt := range tests {
147149 t .Run (tt .name , func (t * testing.T ) {
148150 t .Parallel ()
151+ auditor , err := NewAuditorWithTransport (& Config {}, tt .transport )
152+ require .NoError (t , err )
153+
149154 req := httptest .NewRequest (tt .method , tt .path , nil )
150155 result := auditor .determineEventType (req )
151156 assert .Equal (t , tt .expected , result )
@@ -174,7 +179,7 @@ func TestMapMCPMethodToEventType(t *testing.T) {
174179 {"unknown_method" , "mcp_request" },
175180 }
176181
177- auditor , err := NewAuditor (& Config {})
182+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
178183 require .NoError (t , err )
179184 for _ , tt := range tests {
180185 t .Run (tt .mcpMethod , func (t * testing.T ) {
@@ -187,7 +192,7 @@ func TestMapMCPMethodToEventType(t *testing.T) {
187192
188193func TestDetermineOutcome (t * testing.T ) {
189194 t .Parallel ()
190- auditor , err := NewAuditor (& Config {})
195+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
191196 require .NoError (t , err )
192197
193198 tests := []struct {
@@ -218,7 +223,7 @@ func TestDetermineOutcome(t *testing.T) {
218223
219224func TestGetClientIP (t * testing.T ) {
220225 t .Parallel ()
221- auditor , err := NewAuditor (& Config {})
226+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
222227 require .NoError (t , err )
223228
224229 tests := []struct {
@@ -268,7 +273,7 @@ func TestGetClientIP(t *testing.T) {
268273
269274func TestExtractSubjects (t * testing.T ) {
270275 t .Parallel ()
271- auditor , err := NewAuditor (& Config {})
276+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
272277 require .NoError (t , err )
273278
274279 t .Run ("with JWT claims" , func (t * testing.T ) {
@@ -342,7 +347,7 @@ func TestDetermineComponent(t *testing.T) {
342347 t .Run ("with configured component" , func (t * testing.T ) {
343348 t .Parallel ()
344349 config := & Config {Component : "custom-component" }
345- auditor , err := NewAuditor (config )
350+ auditor , err := NewAuditorWithTransport (config , "sse" )
346351 require .NoError (t , err )
347352
348353 req := httptest .NewRequest ("GET" , "/test" , nil )
@@ -354,7 +359,7 @@ func TestDetermineComponent(t *testing.T) {
354359 t .Run ("without configured component" , func (t * testing.T ) {
355360 t .Parallel ()
356361 config := & Config {}
357- auditor , err := NewAuditor (config )
362+ auditor , err := NewAuditorWithTransport (config , "sse" )
358363 require .NoError (t , err )
359364
360365 req := httptest .NewRequest ("GET" , "/test" , nil )
@@ -366,7 +371,7 @@ func TestDetermineComponent(t *testing.T) {
366371
367372func TestExtractTarget (t * testing.T ) {
368373 t .Parallel ()
369- auditor , err := NewAuditor (& Config {})
374+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
370375 require .NoError (t , err )
371376
372377 tests := []struct {
@@ -423,18 +428,17 @@ func TestExtractTarget(t *testing.T) {
423428
424429func TestAddMetadata (t * testing.T ) {
425430 t .Parallel ()
426- auditor , err := NewAuditor (& Config {})
431+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
427432 require .NoError (t , err )
428433
429434 event := NewAuditEvent ("test" , EventSource {}, OutcomeSuccess , map [string ]string {}, "test" )
430- req := httptest .NewRequest ("GET" , "/sse/test" , nil )
431435 duration := 150 * time .Millisecond
432436 rw := & responseWriter {
433437 ResponseWriter : httptest .NewRecorder (),
434438 body : bytes .NewBufferString ("test response" ),
435439 }
436440
437- auditor .addMetadata (event , req , duration , rw )
441+ auditor .addMetadata (event , duration , rw )
438442
439443 require .NotNil (t , event .Metadata .Extra )
440444 assert .Equal (t , int64 (150 ), event .Metadata .Extra [MetadataExtraKeyDuration ])
@@ -450,7 +454,7 @@ func TestAddEventData(t *testing.T) {
450454 IncludeRequestData : true ,
451455 IncludeResponseData : true ,
452456 }
453- auditor , err := NewAuditor (config )
457+ auditor , err := NewAuditorWithTransport (config , "sse" )
454458 require .NoError (t , err )
455459
456460 event := NewAuditEvent ("test" , EventSource {}, OutcomeSuccess , map [string ]string {}, "test" )
@@ -483,7 +487,7 @@ func TestAddEventData(t *testing.T) {
483487 IncludeRequestData : true ,
484488 IncludeResponseData : true ,
485489 }
486- auditor , err := NewAuditor (config )
490+ auditor , err := NewAuditorWithTransport (config , "sse" )
487491 require .NoError (t , err )
488492
489493 event := NewAuditEvent ("test" , EventSource {}, OutcomeSuccess , map [string ]string {}, "test" )
@@ -511,7 +515,7 @@ func TestAddEventData(t *testing.T) {
511515 IncludeRequestData : false ,
512516 IncludeResponseData : false ,
513517 }
514- auditor , err := NewAuditor (config )
518+ auditor , err := NewAuditorWithTransport (config , "sse" )
515519 require .NoError (t , err )
516520
517521 event := NewAuditEvent ("test" , EventSource {}, OutcomeSuccess , map [string ]string {}, "test" )
@@ -531,7 +535,7 @@ func TestResponseWriterCapture(t *testing.T) {
531535 IncludeResponseData : true ,
532536 MaxDataSize : 10 , // Small limit for testing
533537 }
534- auditor , err := NewAuditor (config )
538+ auditor , err := NewAuditorWithTransport (config , "sse" )
535539 require .NoError (t , err )
536540
537541 rw := & responseWriter {
@@ -568,7 +572,7 @@ func TestResponseWriterStatusCode(t *testing.T) {
568572
569573func TestExtractSourceWithHeaders (t * testing.T ) {
570574 t .Parallel ()
571- auditor , err := NewAuditor (& Config {})
575+ auditor , err := NewAuditorWithTransport (& Config {}, "sse" )
572576 require .NoError (t , err )
573577
574578 req := httptest .NewRequest ("GET" , "/test" , nil )
0 commit comments