<?php require_once __DIR__ . '/../vendor/autoload.php'; use ServiceBus\Discovery\ArrayDiscovery; use ServiceBus\ServiceBus; use ServiceBus\Message\Request; use ServiceBus\Protocol\AMQP; $env = function ($key, $default = null) { return isset($_SERVER[$key]) ? $_SERVER[$key] : $default; }; $connection = \ButterAMQP\ConnectionBuilder::make()->create($env('AMQP_URL', 'amqp://*****:*****@localhost/%2f')); // Use AMQP broadcaster to send messages over AMQP protocol $bus = new ServiceBus(new ArrayDiscovery([]), new AMQP\Broadcaster($connection, 'outbox')); // Broadcast a message to all subscribers $bus->broadcast(new Request('category_repository.updated', '1.0', ['category' => ['name' => 'Fruits', 'position' => 10]]));
/** * Service bus should broadcast messages using given driver. */ public function testBroadcast() { $request = new Request(''); $this->broadcaster->expects($this->once())->method('broadcast')->with($request); $this->serviceBus->broadcast($request); }