mxmbsocket/tests/Ratchet/Tests/Wamp/WampServerTest.php
Chris Boden 4078a360a8 [WAMP] Topic testing
Fixed bugs failing on Travis
More unit test coverage
2012-07-19 00:14:36 -04:00

59 lines
1.8 KiB
PHP

<?php
namespace Ratchet\Tests\Wamp;
use Ratchet\Wamp\WampServer;
/**
* @covers Ratchet\Wamp\WampServer
*/
class WampServerTest extends \PHPUnit_Framework_TestCase {
private $serv;
private $mock;
private $conn;
public function setUp() {
$this->mock = $this->getMock('\\Ratchet\\Wamp\\WampServerInterface');
$this->serv = new WampServer($this->mock);
$this->conn = $this->getMock('\\Ratchet\\ConnectionInterface');
$this->serv->onOpen($this->conn);
}
public function isWampConn() {
return new \PHPUnit_Framework_Constraint_IsInstanceOf('\\Ratchet\\Wamp\\WampConnection');
}
public function testOpen() {
$this->mock->expects($this->once())->method('onOpen')->with($this->isWampConn());
$this->serv->onOpen($this->getMock('\\Ratchet\\ConnectionInterface'));
}
public function testOnClose() {
$this->mock->expects($this->once())->method('onClose')->with($this->isWampConn());
$this->serv->onClose($this->conn);
}
public function testOnError() {
$e = new \Exception('hurr hurr');
$this->mock->expects($this->once())->method('onError')->with($this->isWampConn(), $e);
$this->serv->onError($this->conn, $e);
}
public function testOnMessageToEvent() {
$published = 'Client published this message';
$this->mock->expects($this->once())->method('onPublish')->with(
$this->isWampConn()
, 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());
}
}