OriginCheckTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Ratchet\Http;
  3. use Ratchet\AbstractMessageComponentTestCase;
  4. /**
  5. * @covers Ratchet\Http\OriginCheck
  6. */
  7. class OriginCheckTest extends AbstractMessageComponentTestCase {
  8. protected $_reqStub;
  9. public function setUp() {
  10. $this->_reqStub = $this->getMock('Psr\Http\Message\RequestInterface');
  11. $this->_reqStub->expects($this->any())->method('getHeader')->will($this->returnValue(['localhost']));
  12. parent::setUp();
  13. $this->_serv->allowedOrigins[] = 'localhost';
  14. }
  15. protected function doOpen($conn) {
  16. $this->_serv->onOpen($conn, $this->_reqStub);
  17. }
  18. public function getConnectionClassString() {
  19. return '\Ratchet\ConnectionInterface';
  20. }
  21. public function getDecoratorClassString() {
  22. return '\Ratchet\Http\OriginCheck';
  23. }
  24. public function getComponentClassString() {
  25. return '\Ratchet\Http\HttpServerInterface';
  26. }
  27. public function testCloseOnNonMatchingOrigin() {
  28. $this->_serv->allowedOrigins = ['socketo.me'];
  29. $this->_conn->expects($this->once())->method('close');
  30. $this->_serv->onOpen($this->_conn, $this->_reqStub);
  31. }
  32. public function testOnMessage() {
  33. $this->passthroughMessageTest('Hello World!');
  34. }
  35. }