Refactored SubscriberInterface

This commit is contained in:
2024-03-14 00:45:26 +01:00
parent 17c683d9e8
commit e61d0abb5d
5 changed files with 41 additions and 28 deletions

View File

@ -12,19 +12,11 @@ class TopicTest extends \PHPUnit\Framework\TestCase
public function testPublicMessagesAreDeliveredToAllSubscribers()
{
$authorizedSubscriber = new class implements SubscriberInterface {
public array $messages = [];
public function isAuthorized():bool { return true; }
public function deliver(Message $message):void { $this->messages[] = $message; }
public function getPayload(): ?array { return null; }
public function getId(): string { return ""; }
$authorizedSubscriber = new class extends _Subscriber {
public function isAuthenticated():bool { return true; }
};
$unauthorizedSubscriber = new class implements SubscriberInterface {
public array $messages = [];
public function isAuthorized():bool { return false; }
public function deliver(Message $message):void { $this->messages[] = $message; }
public function getPayload(): ?array { return null; }
public function getId(): string { return ""; }
$unauthorizedSubscriber = new class extends _Subscriber {
public function isAuthenticated():bool { return false; }
};
$topic = new Topic("foo");
@ -40,19 +32,11 @@ class TopicTest extends \PHPUnit\Framework\TestCase
public function testPrivateMessagesAreNotDeliveredToUnauthorizedSubscribers()
{
$authorizedSubscriber = new class implements SubscriberInterface {
public array $messages = [];
public function isAuthorized():bool { return true; }
public function deliver(Message $message):void { $this->messages[] = $message; }
public function getPayload(): ?array { return null; }
public function getId(): string { return ""; }
$authorizedSubscriber = new class extends _Subscriber {
public function isAuthenticated():bool { return true; }
};
$unauthorizedSubscriber = new class implements SubscriberInterface {
public array $messages = [];
public function isAuthorized():bool { return false; }
public function deliver(Message $message):void { $this->messages[] = $message; }
public function getPayload(): ?array { return null; }
public function getId(): string { return ""; }
$unauthorizedSubscriber = new class extends _Subscriber {
public function isAuthenticated():bool { return false; }
};
$topic = new Topic("foo");
@ -67,3 +51,11 @@ class TopicTest extends \PHPUnit\Framework\TestCase
}
}
abstract class _Subscriber implements SubscriberInterface {
public array $messages = [];
public function isAuthenticated():bool { return false; }
public function deliver(Message $message):void { $this->messages[] = $message; }
public function getPayload(): ?array { return null; }
public function getId(): string { return ""; }
};