You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.5 KiB
49 lines
1.5 KiB
<?php |
|
namespace Ratchet\Wamp; |
|
use Ratchet\AbstractMessageComponentTestCase; |
|
|
|
/** |
|
* @covers Ratchet\Wamp\WampServer |
|
*/ |
|
class WampServerTest extends AbstractMessageComponentTestCase { |
|
public function getConnectionClassString() { |
|
return '\Ratchet\Wamp\WampConnection'; |
|
} |
|
|
|
public function getDecoratorClassString() { |
|
return 'Ratchet\Wamp\WampServer'; |
|
} |
|
|
|
public function getComponentClassString() { |
|
return '\Ratchet\Wamp\WampServerInterface'; |
|
} |
|
|
|
public function testOnMessageToEvent() { |
|
$published = 'Client published this message'; |
|
|
|
$this->_app->expects($this->once())->method('onPublish')->with( |
|
$this->isExpectedConnection() |
|
, new \PHPUnit_Framework_Constraint_IsInstanceOf('\Ratchet\Wamp\Topic') |
|
, $published |
|
, array() |
|
, array() |
|
); |
|
|
|
$this->_serv->onMessage($this->_conn, json_encode(array(7, 'topic', $published))); |
|
} |
|
|
|
public function testGetSubProtocols() { |
|
// todo: could expand on this |
|
$this->assertInternalType('array', $this->_serv->getSubProtocols()); |
|
} |
|
|
|
public function testConnectionClosesOnInvalidJson() { |
|
$this->_conn->expects($this->once())->method('close'); |
|
$this->_serv->onMessage($this->_conn, 'invalid json'); |
|
} |
|
|
|
public function testConnectionClosesOnProtocolError() { |
|
$this->_conn->expects($this->once())->method('close'); |
|
$this->_serv->onMessage($this->_conn, json_encode(array('valid' => 'json', 'invalid' => 'protocol'))); |
|
} |
|
}
|
|
|