| 
<?php/*
 * Copyright (c) 2014, Yahoo! Inc. All rights reserved.
 * Copyrights licensed under the New BSD License.
 * See the accompanying LICENSE file for terms.
 */
 
 use ohmy\Auth1\Security\Signature;
 
 class SignatureTest extends PHPUnit_Framework_TestCase {
 
 private $oauth;
 
 public function setUp(){
 $this->oauth = array(
 'oauth_callback'           => 'http://foo.com/callback',
 'oauth_consumer_key'       => 'key',
 'oauth_consumer_secret'    => 'secret',
 'oauth_nonce'              => 'abcdefghijk123',
 'oauth_signature_method'   => 'HMAC-SHA1',
 'oauth_timestamp'          => '1391674154',
 'oauth_version'            => '1.0'
 );
 }
 public function tearDown(){
 $this->oauth = null;
 }
 public function testSignatureQueryString() {
 $signature = new Signature('POST', 'http://bar.com/', $this->oauth);
 $this->assertEquals($signature->getQueryString(), 'oauth_callback=http%3A%2F%2Ffoo.com%2Fcallback&oauth_consumer_key=key&oauth_nonce=abcdefghijk123&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1391674154&oauth_version=1.0');
 }
 
 public function testSignatureBaseString() {
 $signature = new Signature('POST', 'http://bar.com/', $this->oauth);
 $this->assertEquals($signature->getBaseString(), 'POST&http%3A%2F%2Fbar.com%2F&oauth_callback%3Dhttp%253A%252F%252Ffoo.com%252Fcallback%26oauth_consumer_key%3Dkey%26oauth_nonce%3Dabcdefghijk123%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1391674154%26oauth_version%3D1.0');
 }
 
 public function testSigningKey() {
 $signature = new Signature('POST', 'http://bar.com/', $this->oauth);
 $this->assertEquals($signature->getSigningKey(), 'secret&');
 }
 
 public function testSignature() {
 $signature = new Signature('POST', 'http://bar.com/', $this->oauth);
 $this->assertEquals($signature->getSignature(), '3L7HyQyZzFoNaoCYOuoBh9qiYbQ=');
 }
 
 public function testEverything() {
 $signature = new Signature('POST', 'http://bar.com/', $this->oauth);
 $this->assertEquals($signature.'', 'OAuth oauth_callback="http://foo.com/callback", oauth_consumer_key="key", oauth_nonce="abcdefghijk123", oauth_signature="3L7HyQyZzFoNaoCYOuoBh9qiYbQ%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1391674154", oauth_version="1.0"');
 }
 }
 
 |