1
0
Fork 0
mirror of synced 2024-06-01 10:29:48 +12:00

fix: realtime tests

This commit is contained in:
Torsten Dittmann 2022-01-03 15:01:35 +01:00
parent ae967839e1
commit a24702b4e1
2 changed files with 10 additions and 23 deletions

View file

@ -366,10 +366,10 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server,
try {
/** @var \Utopia\Database\Document $user */
$user = $app->getResource('user', true);
$user = $app->getResource('user');
/** @var \Utopia\Database\Document $project */
$project = $app->getResource('project', true);
$project = $app->getResource('project');
/** @var \Utopia\Database\Document $console */
$console = $app->getResource('console');

View file

@ -7,7 +7,7 @@ use WebSocket\Client as WebSocketClient;
trait RealtimeBase
{
private function getWebsocket($channels = [], $headers = [], $projectId = null)
private function getWebsocket($channels = [], $headers = [], $projectId = null): WebSocketClient
{
if (is_null($projectId)) {
$projectId = $this->getProject()['$id'];
@ -28,7 +28,7 @@ trait RealtimeBase
]);
}
public function testConnection()
public function testConnection(): void
{
/**
* Test for SUCCESS
@ -36,8 +36,10 @@ trait RealtimeBase
$client = $this->getWebsocket(['documents']);
$this->assertNotEmpty($client->receive());
$client->close();
sleep(1);
}
public function testConnectionFailureMissingChannels(): void
{
/**
* Test for FAILURE
*/
@ -51,24 +53,10 @@ trait RealtimeBase
$this->assertEquals('Missing channels', $payload['data']['message']);
$this->expectException(ConnectionException::class); // Check if server disconnnected client
$client->close();
sleep(1);
$client = new WebSocketClient('ws://appwrite-traefik/v1/realtime?channels[]=files"', [
'headers' => [
'Origin' => 'appwrite.test'
]
]);
$payload = json_decode($client->receive(), true);
$this->assertArrayHasKey('type', $payload);
$this->assertArrayHasKey('data', $payload);
$this->assertEquals('error', $payload['type']);
$this->assertEquals(1008, $payload['data']['code']);
$this->assertEquals('Missing or unknown project ID', $payload['data']['message']);
$this->expectException(ConnectionException::class); // Check if server disconnnected client
$client->close();
sleep(1);
}
public function testConnectionFailureUnknownProject(): void
{
$client = new WebSocketClient('ws://appwrite-traefik/v1/realtime?project=123', [
'headers' => [
'Origin' => 'appwrite.test'
@ -83,6 +71,5 @@ trait RealtimeBase
$this->assertEquals('Missing or unknown project ID', $payload['data']['message']);
$this->expectException(ConnectionException::class); // Check if server disconnnected client
$client->close();
sleep(1);
}
}