70 lines
1.7 KiB
PHP
70 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace NoccyLabs\Mercureact\Broker;
|
|
|
|
use PHPUnit\Framework\Attributes\CoversClass;
|
|
|
|
#[CoversClass(Message::class)]
|
|
class MessageTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
|
|
public function testCreatingMessageFromData()
|
|
{
|
|
$message = Message::fromData([
|
|
'id' => '1a',
|
|
'topic' => '2b',
|
|
'data' => '3c',
|
|
'type' => '4d',
|
|
'retry' => 42,
|
|
'private' => true,
|
|
]);
|
|
|
|
$this->assertEquals("1a", $message->id);
|
|
$this->assertEquals(["2b"], $message->topic);
|
|
$this->assertEquals("3c", $message->data);
|
|
$this->assertEquals("4d", $message->type);
|
|
$this->assertEquals(42, $message->retry);
|
|
$this->assertEquals(true, $message->private);
|
|
|
|
$message = Message::fromData([
|
|
'id' => '1a',
|
|
'topic' => ['2b'],
|
|
'data' => '3c',
|
|
'type' => '4d',
|
|
'retry' => 42,
|
|
'private' => true,
|
|
]);
|
|
|
|
$this->assertEquals("1a", $message->id);
|
|
$this->assertEquals(["2b"], $message->topic);
|
|
$this->assertEquals("3c", $message->data);
|
|
$this->assertEquals("4d", $message->type);
|
|
$this->assertEquals(42, $message->retry);
|
|
$this->assertEquals(true, $message->private);
|
|
|
|
}
|
|
|
|
public function testCreatingSseFromMessage()
|
|
{
|
|
$message = Message::fromData([
|
|
'id' => '1a',
|
|
'topic' => '2b',
|
|
'data' => '3c',
|
|
'type' => '4d',
|
|
'retry' => 42,
|
|
'private' => true,
|
|
]);
|
|
$sse = $message->toString();
|
|
|
|
$this->assertEquals(<<<EXPECT
|
|
event: 4d
|
|
retry: 42
|
|
id: 1a
|
|
data: 3c
|
|
|
|
|
|
EXPECT, $sse);
|
|
|
|
}
|
|
|
|
} |