public function test_create_withProperParams_returnsProperRpcRequestPayload()
 {
     $procedure = 'testProcedure';
     $params = [];
     $payload = RpcRequestPayload::create($procedure, $params);
     $this->assertTrue($payload instanceof RpcRequestPayload);
     $this->assertEquals($procedure, $payload->getProcedure());
     $this->assertEquals($params, $payload->getParams());
     $params = ['foo' => 'bar'];
     $payload = RpcRequestPayload::create($procedure, $params);
     $this->assertTrue($payload instanceof RpcRequestPayload);
     $this->assertEquals($procedure, $payload->getProcedure());
     $this->assertEquals($params, $payload->getParams());
 }
Esempio n. 2
0
 /**
  * @param string $routingKey
  * @param string $procedure
  * @param array $params
  * @param bool $closeConnectionAfterCall
  *
  * @return RpcResponsePayload
  */
 public function call($routingKey, $procedure, array $params = [], $closeConnectionAfterCall = false)
 {
     // Reset current response object
     $this->resetCurrentRpcResponse();
     // Connect
     $this->connector->connect();
     // Declare responses queue
     $this->declareResponsesQueue();
     // Create an empty request message
     $request = MessagesBuilder::emptyRpcRequest($this->getSerializer()->getSerializedContentType());
     // Set message payload
     $request->setPayload(RpcRequestPayload::create($procedure, $params));
     // Set other message properties
     $request->setExpiration(1000 * $this->getTimeOut());
     $request->setReplyTo($this->responsesQueue);
     // Send request
     $this->sendRequest($request, $routingKey);
     if (true == $closeConnectionAfterCall) {
         $this->connector->closeConnection();
     }
     return $this->rpcResponse->getPayload();
 }