@@ -301,22 +301,6 @@ def test_accept_header_validation(basic_server, server_url):
301301 assert response .status_code == 406
302302 assert "Not Acceptable" in response .text
303303
304- # Test with only application/json
305- response = requests .post (
306- f"{ server_url } /mcp" ,
307- headers = {"Accept" : "application/json" , "Content-Type" : "application/json" },
308- json = {"jsonrpc" : "2.0" , "method" : "initialize" , "id" : 1 },
309- )
310- assert response .status_code == 406
311-
312- # Test with only text/event-stream
313- response = requests .post (
314- f"{ server_url } /mcp" ,
315- headers = {"Accept" : "text/event-stream" , "Content-Type" : "application/json" },
316- json = {"jsonrpc" : "2.0" , "method" : "initialize" , "id" : 1 },
317- )
318- assert response .status_code == 406
319-
320304
321305def test_content_type_validation (basic_server , server_url ):
322306 """Test that Content-Type header is properly validated."""
@@ -347,6 +331,9 @@ def test_json_validation(basic_server, server_url):
347331 assert response .status_code == 400
348332 assert "Parse error" in response .text
349333
334+
335+ def test_json_parsing (basic_server , server_url ):
336+ """Test that JSON content is properly parse."""
350337 # Test with valid JSON but invalid JSON-RPC
351338 response = requests .post (
352339 f"{ server_url } /mcp" ,
@@ -375,24 +362,6 @@ def test_method_not_allowed(basic_server, server_url):
375362 assert "Method Not Allowed" in response .text
376363
377364
378- def test_get_request_validation (basic_server , server_url ):
379- """Test GET request validation for SSE streams."""
380-
381- response = requests .post (
382- f"{ server_url } /mcp" ,
383- headers = {
384- "Accept" : "application/json, text/event-stream" ,
385- "Content-Type" : "application/json" ,
386- },
387- json = INIT_REQUEST ,
388- )
389- # Test GET without Accept header
390- assert response .status_code == 200
391- response = requests .get (f"{ server_url } /mcp" )
392- assert response .status_code == 406
393- assert "Not Acceptable" in response .text
394-
395-
396365def test_session_validation (session_server , server_url ):
397366 """Test session ID validation."""
398367 # session_id not used directly in this test
@@ -468,36 +437,7 @@ def test_streamable_http_transport_init_validation():
468437 StreamableHTTPServerTransport (mcp_session_id = "test\n " )
469438
470439
471- def test_delete_request (session_server , server_url ):
472- """Test DELETE request for session termination."""
473- session_id = session_server
474-
475- # First, send an initialize request to properly initialize the server
476- response = requests .post (
477- f"{ server_url } /mcp" ,
478- headers = {
479- "Accept" : "application/json, text/event-stream" ,
480- "Content-Type" : "application/json" ,
481- },
482- json = INIT_REQUEST ,
483- )
484- assert response .status_code == 200
485-
486- # Test without session ID
487- response = requests .delete (f"{ server_url } /mcp" )
488- assert response .status_code == 400
489- assert "Missing session ID" in response .text
490-
491- # Test valid session termination
492- response = requests .delete (
493- f"{ server_url } /mcp" ,
494- headers = {MCP_SESSION_ID_HEADER : session_id },
495- )
496- # assert response.status_code == 200
497- assert "Session terminated" in response .text
498-
499-
500- def test_session_termination (session_server , server_url ):
440+ def test_session_termination (basic_server , server_url ):
501441 """Test session termination via DELETE and subsequent request handling."""
502442 response = requests .post (
503443 f"{ server_url } /mcp" ,
@@ -510,7 +450,7 @@ def test_session_termination(session_server, server_url):
510450 assert response .status_code == 200
511451
512452 # Now terminate the session
513- session_id = session_server
453+ session_id = response . headers . get ( MCP_SESSION_ID_HEADER )
514454 response = requests .delete (
515455 f"{ server_url } /mcp" ,
516456 headers = {MCP_SESSION_ID_HEADER : session_id },
0 commit comments