AutobahnTestSuite
Added files to test Ratchet against the AutobahnTestSuite Bumped version v0.2b Updated how to handle control frames to run the test suite
This commit is contained in:
		
							parent
							
								
									232f28a1bd
								
							
						
					
					
						commit
						ff07104316
					
				| @ -1,7 +1,7 @@ | |||||||
| <?php | <?php | ||||||
| namespace Ratchet; | namespace Ratchet; | ||||||
| 
 | 
 | ||||||
| const VERSION = 'Ratchet/0.1.2'; | const VERSION = 'Ratchet/0.2b'; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * A proxy object representing a connection to the application |  * A proxy object representing a connection to the application | ||||||
|  | |||||||
| @ -15,8 +15,9 @@ class MessageParser { | |||||||
|         $from->WebSocket->frame->addBuffer($data); |         $from->WebSocket->frame->addBuffer($data); | ||||||
|         if ($from->WebSocket->frame->isCoalesced()) { |         if ($from->WebSocket->frame->isCoalesced()) { | ||||||
|             if ($from->WebSocket->frame->getOpcode() > 2) { |             if ($from->WebSocket->frame->getOpcode() > 2) { | ||||||
|                 $from->close(); |                 unset($from->WebSocket->frame); | ||||||
|                 throw new \UnexpectedValueException('Control frame support coming soon!'); | 
 | ||||||
|  |                 return; | ||||||
|             } |             } | ||||||
|             // Check frame
 |             // Check frame
 | ||||||
|             // If is control frame, do your thing
 |             // If is control frame, do your thing
 | ||||||
|  | |||||||
							
								
								
									
										22
									
								
								tests/Ratchet/Tests/AbFuzzyServer.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tests/Ratchet/Tests/AbFuzzyServer.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | <?php | ||||||
|  | namespace Ratchet\Tests; | ||||||
|  | use Ratchet\MessageComponentInterface; | ||||||
|  | use Ratchet\ConnectionInterface; | ||||||
|  | 
 | ||||||
|  | class AbFuzzyServer implements MessageComponentInterface { | ||||||
|  |     public function onOpen(ConnectionInterface $conn) { | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function onMessage(ConnectionInterface $from, $msg) { | ||||||
|  |         $from->send($msg); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function onClose(ConnectionInterface $conn) { | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function onError(ConnectionInterface $conn, \Exception $e) { | ||||||
|  |         echo $e->getMessage() . "\n"; | ||||||
|  | 
 | ||||||
|  |         $conn->close(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -22,10 +22,10 @@ class HandshakeNegotiatorTest extends \PHPUnit_Framework_TestCase { | |||||||
|         return array( |         return array( | ||||||
|             array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n") |             array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n") | ||||||
|           , array(true,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n") |           , array(true,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n") | ||||||
|           , array(false,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n1") |           , array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n1") | ||||||
|           , array(false,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖") |           , array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖") | ||||||
|           , array(true,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖\r\n\r\n") |           , array(true,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖\r\n\r\n") | ||||||
|           , array(false,  "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie\r\n") |           , array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie\r\n") | ||||||
|         ); |         ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								tests/ab-wstest-fuzzyconf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								tests/ab-wstest-fuzzyconf.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | 
 | ||||||
|  | { | ||||||
|  |    "options": {"failByDrop": false}, | ||||||
|  |    "outdir": "../reports/ab", | ||||||
|  | 
 | ||||||
|  |    "servers": [{"agent": "Ratchet/v0.2b", "url": "ws://localhost:8000", "options": {"version": 18}}], | ||||||
|  | 
 | ||||||
|  |    "cases": ["*"], | ||||||
|  |    "exclude-cases": ["9.*"], | ||||||
|  |    "exclude-agent-cases": {} | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								tests/ab-wstest-server.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tests/ab-wstest-server.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | <?php | ||||||
|  | use Ratchet\Server\IoServer; | ||||||
|  | use Ratchet\WebSocket\WsServer; | ||||||
|  | use Ratchet\Tests\AbFuzzyServer; | ||||||
|  | 
 | ||||||
|  |     require dirname(__DIR__) . '/vendor/autoload.php'; | ||||||
|  | 
 | ||||||
|  |     $server = IoServer::factory(new WsServer(new AbFuzzyServer), 8000); | ||||||
|  | 
 | ||||||
|  |     $server->run(); | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Chris Boden
						Chris Boden