Refactored SubscriberInterface
This commit is contained in:
		@@ -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 ""; }
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user