2018-12-02 22:55:26 +00:00
|
|
|
<?php
|
|
|
|
|
|
2018-12-06 19:55:48 +00:00
|
|
|
namespace BeyondCode\LaravelWebSockets\Tests\Messages;
|
2018-12-02 22:55:26 +00:00
|
|
|
|
|
|
|
|
use BeyondCode\LaravelWebSockets\Tests\Mocks\Message;
|
2020-03-04 09:58:39 +00:00
|
|
|
use BeyondCode\LaravelWebSockets\Tests\TestCase;
|
2018-12-02 22:55:26 +00:00
|
|
|
|
|
|
|
|
class PusherClientMessageTest extends TestCase
|
|
|
|
|
{
|
|
|
|
|
/** @test */
|
|
|
|
|
public function client_messages_do_not_work_when_disabled()
|
|
|
|
|
{
|
|
|
|
|
$connection = $this->getConnectedWebSocketConnection(['test-channel']);
|
|
|
|
|
|
|
|
|
|
$message = new Message(json_encode([
|
|
|
|
|
'event' => 'client-test',
|
|
|
|
|
'channel' => 'test-channel',
|
|
|
|
|
'data' => [
|
2018-12-04 21:22:33 +00:00
|
|
|
'client-event' => 'test',
|
2018-12-02 22:55:26 +00:00
|
|
|
],
|
|
|
|
|
]));
|
|
|
|
|
|
|
|
|
|
$this->pusherServer->onMessage($connection, $message);
|
|
|
|
|
|
|
|
|
|
$connection->assertNotSentEvent('client-test');
|
|
|
|
|
}
|
2018-12-02 22:57:12 +00:00
|
|
|
|
|
|
|
|
/** @test */
|
|
|
|
|
public function client_messages_get_broadcasted_when_enabled()
|
|
|
|
|
{
|
|
|
|
|
$this->app['config']->set('websockets.apps', [
|
|
|
|
|
[
|
|
|
|
|
'name' => 'Test App',
|
|
|
|
|
'id' => 1234,
|
|
|
|
|
'key' => 'TestKey',
|
|
|
|
|
'secret' => 'TestSecret',
|
|
|
|
|
'enable_client_messages' => true,
|
2018-12-03 10:58:42 +00:00
|
|
|
'enable_statistics' => true,
|
2018-12-02 22:57:12 +00:00
|
|
|
],
|
|
|
|
|
]);
|
|
|
|
|
|
2018-12-04 20:04:19 +00:00
|
|
|
$connection1 = $this->getConnectedWebSocketConnection(['test-channel']);
|
|
|
|
|
$connection2 = $this->getConnectedWebSocketConnection(['test-channel']);
|
2018-12-02 22:57:12 +00:00
|
|
|
|
|
|
|
|
$message = new Message(json_encode([
|
|
|
|
|
'event' => 'client-test',
|
|
|
|
|
'channel' => 'test-channel',
|
|
|
|
|
'data' => [
|
2018-12-04 21:22:33 +00:00
|
|
|
'client-event' => 'test',
|
2018-12-02 22:57:12 +00:00
|
|
|
],
|
|
|
|
|
]));
|
|
|
|
|
|
2018-12-04 20:04:19 +00:00
|
|
|
$this->pusherServer->onMessage($connection1, $message);
|
|
|
|
|
|
|
|
|
|
$connection1->assertNotSentEvent('client-test');
|
2018-12-02 22:57:12 +00:00
|
|
|
|
2018-12-04 20:04:19 +00:00
|
|
|
$connection2->assertSentEvent('client-test', [
|
2018-12-02 22:57:12 +00:00
|
|
|
'data' => [
|
2018-12-04 21:22:33 +00:00
|
|
|
'client-event' => 'test',
|
|
|
|
|
],
|
2018-12-02 22:57:12 +00:00
|
|
|
]);
|
|
|
|
|
}
|
2018-12-04 21:22:33 +00:00
|
|
|
}
|