Added writeBinary, tests for middleware

This commit is contained in:
2024-02-21 22:26:06 +01:00
parent ea9865c177
commit 418ece5155
3 changed files with 66 additions and 2 deletions

View File

@ -0,0 +1,57 @@
<?php
namespace NoccyLabs\React\WebSocket;
use PHPUnit\Framework\Attributes\CoversClass;
use React\Http\Message\ServerRequest;
#[CoversClass(WebSocketMiddleware::class)]
class WebSocketMiddlewareTest extends \PHPUnit\Framework\TestCase
{
public function testThatRegularRequestsAreIgnored()
{
$mock = $this->getMockBuilder(InvokableDummy::class)->getMock();
$mock->expects($this->never())
->method('test');
$next = $this->getMockBuilder(InvokableDummy::class)->getMock();
$next->expects($this->once())
->method('test');
$request = new ServerRequest("GET", "/", [], "");
$middleware = new WebSocketMiddleware();
$middleware->on('connection', [$mock,"test"]);
$middleware->__invoke($request, [$next,"test"]);
}
public function testThatWebSocketRequestsAreHandled()
{
$mock = $this->getMockBuilder(InvokableDummy::class)->getMock();
$mock->expects($this->once())
->method('test');
$next = $this->getMockBuilder(InvokableDummy::class)->getMock();
$next->expects($this->never())
->method('test');
$request = new ServerRequest("GET", "/", [
'upgrade' => [ 'websocket' ]
]);
$middleware = new WebSocketMiddleware();
$middleware->on('connection', [$mock,"test"]);
$middleware->__invoke($request, [$next,"test"]);
}
}
class InvokableDummy
{
public function test()
{
}
}