Example #1
0
 public function testDiscover()
 {
     $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
     $socket = $this->prophesize(Socket::class);
     $multicastFactory = $this->prophesize(MulticastFactory::class);
     $multicastFactory->createSocket(Argument::exact(Client::MULTICAST_ADDRESS), Argument::type('int'))->willReturn($socket->reveal());
     $request = $this->prophesize(RequestInterface::class);
     $request->getMethod()->willReturn(SearchRequest::METHOD);
     $request->getHeaders()->willReturn([]);
     $request->getBody()->willReturn('');
     $request->getRequestTarget()->willReturn('*');
     $request->getProtocolVersion()->willReturn('1.1');
     $requestFactory = $this->prophesize(RequestFactory::class);
     $requestFactory->createDiscoverRequest(Argument::type(DiscoverOptions::class))->willReturn($request->reveal());
     $discoverOptions = $this->prophesize(DiscoverOptions::class);
     $client = new Client();
     $client->setEventDispatcher($eventDispatcher->reveal());
     $client->setMulticastFactory($multicastFactory->reveal());
     $client->setRequestFactory($requestFactory->reveal());
     $client->discover($discoverOptions->reveal());
     $socket->sendTo(Argument::type('string'), 0, sprintf('%s:%s', Client::MULTICAST_ADDRESS, Client::MULTICAST_PORT))->shouldHaveBeenCalled();
     $socket->recvFrom(Argument::type('int'), MSG_WAITALL, Argument::any())->shouldHaveBeenCalled();
 }