Пример #1
0
 /**
  * Test valid signature for entity-body style requests (POST, PUT, PATCH, DELETE).
  */
 public function testValidSignatureWithEntityBody()
 {
     $method = 'POST';
     $body = '{hello: "world!"}';
     $path = '/say/hello';
     $secret = '456';
     $queryParams = array('fiz' => 'buzz', 'foo' => 'bar');
     $request = new EntityEnclosingRequest($method, $path);
     $request->setBody($body);
     $signature = new Signature($secret, $request);
     $expected = $secret . $method . $path;
     ksort($queryParams);
     foreach ($queryParams as $key => $param) {
         $expected .= "{$key}={$param}";
         $request->getQuery()->set($key, $param);
     }
     $expected .= $body;
     $this->assertEquals($expected, $signature->getRawSignature(), 'Raw signature should include entity-body string.');
     $this->assertEquals(43, strlen($signature), 'Hash signature should be 43 characters in length.');
 }