File tree Expand file tree Collapse file tree
cmstestsuite/unit_tests/io Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -351,6 +351,7 @@ def process_data(self, data):
351351 try :
352352 message = json .loads (data .decode ('utf-8' ))
353353 except ValueError :
354+ self .disconnect ("Bad request received" )
354355 logger .warning ("Cannot parse incoming message, discarding." )
355356 return
356357
@@ -367,6 +368,7 @@ def process_incoming_request(self, request):
367368 """
368369 # Validate the request.
369370 if not {"__id" , "__method" , "__data" }.issubset (iterkeys (request )):
371+ self .disconnect ("Bad request received" )
370372 logger .warning ("Request is missing some fields, ignoring." )
371373 return
372374
@@ -542,6 +544,7 @@ def process_data(self, data):
542544 try :
543545 message = json .loads (data .decode ('utf-8' ))
544546 except ValueError :
547+ self .disconnect ("Bad response received" )
545548 logger .warning ("Cannot parse incoming message, discarding." )
546549 return
547550
@@ -558,6 +561,7 @@ def process_incoming_response(self, response):
558561 """
559562 # Validate the response.
560563 if not {"__id" , "__data" , "__error" }.issubset (iterkeys (response )):
564+ self .disconnect ("Bad response received" )
561565 logger .warning ("Response is missing some fields, ignoring." )
562566 return
563567
Original file line number Diff line number Diff line change @@ -415,17 +415,17 @@ def test_send_invalid_json(self):
415415 sock = gevent .socket .create_connection ((self .host , self .port ))
416416 sock .sendall (b"foo\r \n " )
417417 self .sleep ()
418- self . assertTrue ( self . servers [ 0 ]. connected )
419- # Verify the server resumes normal operation.
420- self . test_method_return_int ()
418+ # Malformed messages cause the connection to be closed.
419+ self . assertFalse ( self . servers [ 0 ]. connected )
420+ sock . close ()
421421
422422 def test_send_incomplete_json (self ):
423423 sock = gevent .socket .create_connection ((self .host , self .port ))
424424 sock .sendall (b'{"__id": "foo"}\r \n ' )
425425 self .sleep ()
426- self . assertTrue ( self . servers [ 0 ]. connected )
427- # Verify the server resumes normal operation.
428- self . test_method_return_int ()
426+ # Malformed messages cause the connection to be closed.
427+ self . assertFalse ( self . servers [ 0 ]. connected )
428+ sock . close ()
429429
430430
431431if __name__ == "__main__" :
You can’t perform that action at this time.
0 commit comments