public function testRequestIsCorrectlySigned()
 {
     $nonceGeneratorMock = TestUtils::buildMockedNonceGenerator($this);
     $signer = new BtceRequestSigner();
     $signer->setNonceGenerator($nonceGeneratorMock);
     $unsignedRequest = new Request('GET', 'http://foo.com', [], 'foo=bar&baz=quux');
     $signedRequest = $signer->sign($unsignedRequest, 'APIKEY', 'f00b42');
     $this->assertEquals('APIKEY', $signedRequest->getHeader('Key')[0]);
     $this->assertEquals('2a32f5bebe09e7fcebfbae9ea1d6125be7fb9b526dc81b3c26f8abb70c9f02643670b88b75b690cc813f28dcb2c96e1455cfc655851dc48def84f954e42365ae', $signedRequest->getHeader('Sign')[0]);
     $this->assertEquals('nonce=1&foo=bar&baz=quux', $signedRequest->getBody()->getContents());
     $this->assertEquals($unsignedRequest->getMethod(), $signedRequest->getMethod());
     $this->assertEquals($unsignedRequest->getUri(), $signedRequest->getUri());
 }
 public function testRequestIsCorrectlySigned()
 {
     $nonceGeneratorMock = TestUtils::buildMockedNonceGenerator($this);
     $signer = new BitstampRequestSigner();
     $signer->setNonceGenerator($nonceGeneratorMock);
     $unsignedRequest = new Request('GET', 'http://foo.com', [], 'foo=bar&baz=quux');
     $signedRequest = $signer->sign($unsignedRequest, 'APIKEY', 'f00b42', 5);
     parse_str($signedRequest->getBody()->getContents(), $requestBody);
     $this->assertEquals('APIKEY', $requestBody['key']);
     $this->assertEquals(1, $requestBody['nonce']);
     $this->assertEquals('f3d649b1e4911bbc9e2f65208dabbfb83e467bfdceea3fc27010a0c4cfa15a96', $requestBody['signature']);
     $this->assertEquals('bar', $requestBody['foo']);
     $this->assertEquals('quux', $requestBody['baz']);
     $this->assertEquals($unsignedRequest->getMethod(), $signedRequest->getMethod());
     $this->assertEquals($unsignedRequest->getUri(), $signedRequest->getUri());
     $this->assertEquals($unsignedRequest->getHeaders(), $signedRequest->getHeaders());
 }