Exemplo n.º 1
0
 /**
  * Ensure that post data is sorted and encoded.
  *
  * Keys with array values have to be serialized using
  * a more standard HTTP approach. PHP flavoured HTTP
  * is not part of the Oauth spec.
  *
  * See Normalize Request Parameters (section 9.1.1)
  * http://wiki.oauth.net/w/page/12238556/TestCases
  *
  * @return void
  */
 public function testBaseStringWithPostData()
 {
     $request = new Request();
     $request->url('http://example.com/search?q=pogo')->method(Request::METHOD_POST)->body(['address' => 'post', 'tags' => ['oauth', 'cake'], 'zed' => 'last']);
     $auth = new Oauth();
     $values = ['oauth_version' => '1.0', 'oauth_nonce' => uniqid(), 'oauth_timestamp' => time(), 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_token' => 'token', 'oauth_consumer_key' => 'consumer-key'];
     $result = $auth->baseString($request, $values);
     $this->assertContains('POST&', $result, 'method was missing.');
     $this->assertContains('http%3A%2F%2Fexample.com%2Fsearch&', $result);
     $this->assertContains('&address%3Dpost' . '%26oauth_consumer_key%3Dconsumer-key' . '%26oauth_nonce%3D' . $values['oauth_nonce'] . '%26oauth_signature_method%3DHMAC-SHA1' . '%26oauth_timestamp%3D' . $values['oauth_timestamp'] . '%26oauth_token%3Dtoken' . '%26oauth_version%3D1.0' . '%26q%3Dpogo' . '%26tags%3Dcake' . '%26tags%3Doauth' . '%26zed%3Dlast', $result);
 }