/**
  * @test
  */
 public function invoke_QueryParameters_Success()
 {
     $this->auth->expects($this->once())->method('getHeaders')->willReturn([]);
     $this->auth->expects($this->once())->method('getQueryParameters')->willReturn(['jwt' => 'YYYY', 'otherParam' => 'YYYY']);
     $this->request->expects($this->exactly(3))->method('getUri')->willReturn($this->uri);
     $this->request->expects($this->exactly(2))->method('withUri')->withConsecutive(Uri::withQueryValue($this->uri, 'jwt', 'YYYY'), Uri::withQueryValue($this->uri, 'otherParam', 'YYYY'))->willReturnSelf();
     $middleware = new ConnectMiddleware($this->auth, $this->appContext);
     $callable = $middleware(function (RequestInterface $actualRequest, array $options) {
         $this->assertEquals($this->request, $actualRequest);
         $this->assertEquals(['Hello World'], $options);
     });
     $callable($this->request, ['Hello World']);
 }
 public function setUp()
 {
     $mockResponse = $this->getMockBuilder('GuzzleHttp\\Psr7\\Response')->setMethods(['getStatusCode', 'getBody'])->disableOriginalConstructor()->getMock();
     $mockResponse->expects($this->atLeast(1))->method('getStatusCode')->will($this->returnValue('200'));
     $invalidBodyMock = $this->getMockBuilder('Psr\\Http\\Message\\StreamInterface')->disableOriginalConstructor()->getMock();
     $invalidBodyMock->expects($this->any())->method('getContents')->will($this->returnValue('asldkjaslkdjsadlkj'));
     $mockResponse->expects($this->any())->method('getBody')->will($this->returnValue($invalidBodyMock));
     $this->mockRequest = $this->getMockBuilder('GuzzleHttp\\Psr7\\Request')->setMethods(['getUri'])->disableOriginalConstructor()->getMock();
     $this->mockRequest->expects($this->atLeast(1))->method('getUri')->will($this->returnValue(new Uri('http://test-collector/hello')));
     $this->analyticsResponse = new AnalyticsResponse($this->mockRequest, $mockResponse);
     $mockResponseAsync = $this->getMockBuilder('GuzzleHttp\\Promise\\Promise')->disableOriginalConstructor()->getMock();
     $this->analyticsResponseAsync = new AnalyticsResponse($this->mockRequest, $mockResponseAsync);
     $mockDebugResponse = $this->getMockBuilder('GuzzleHttp\\Psr7\\Response')->setMethods(['getStatusCode', 'getBody'])->disableOriginalConstructor()->getMock();
     $mockDebugResponse->expects($this->atLeast(1))->method('getStatusCode')->will($this->returnValue('200'));
     $bodyMock = $this->getMockBuilder('Psr\\Http\\Message\\StreamInterface')->disableOriginalConstructor()->getMock();
     $bodyMock->expects($this->atLeast(1))->method('getContents')->will($this->returnValue('{"salutation":"hello world"}'));
     $mockDebugResponse->expects($this->atLeast(1))->method('getBody')->will($this->returnValue($bodyMock));
     $this->analyticsDebugResponse = new AnalyticsResponse($this->mockRequest, $mockDebugResponse);
 }