80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use Mockery as m;
 | |
| use GaryJones\OAuth\HmacSha1;
 | |
| 
 | |
| class HmacSha1Test extends PHPUnit_Framework_TestCase
 | |
| {
 | |
|     public function tearDown()
 | |
|     {
 | |
|         m::close();
 | |
|     }
 | |
| 
 | |
|     public function testSignatureName()
 | |
|     {
 | |
|         $hmacsha1 = $this->getSignatureMethod();
 | |
|         $this->assertEquals('HMAC-SHA1', $hmacsha1->getName());
 | |
|     }
 | |
| 
 | |
|     public function testBuildSignatureWithoutToken()
 | |
|     {
 | |
|         // Create instance of class to test
 | |
|         $hmacsha1 = $this->getSignatureMethod();
 | |
| 
 | |
|         // Get mock objects
 | |
|         $request = $this->getRequest();
 | |
|         $client = $this->getClient();
 | |
| 
 | |
|         // Run method being tested
 | |
|         $signature = $hmacsha1->buildSignature($request, $client);
 | |
| 
 | |
|         // Check results
 | |
|         $this->assertEquals('RaZU4UG/wwJ/E5Df2/pePmwaS1Q=', $signature);
 | |
|     }
 | |
| 
 | |
|     public function testBuildSignatureWithToken()
 | |
|     {
 | |
|         // Create instance of class to test
 | |
|         $hmacsha1 = $this->getSignatureMethod();
 | |
| 
 | |
|         // Get mock objects
 | |
|         $request = $this->getRequest();
 | |
|         $client = $this->getClient();
 | |
|         $token = $this->getToken();
 | |
| 
 | |
|         // Run method being tested
 | |
|         $signature = $hmacsha1->buildSignature($request, $client, $token);
 | |
| 
 | |
|         // Check results
 | |
|         $this->assertEquals('1P/rfHzjnxBcNzngW9BEuT01goM=', $signature);
 | |
|     }
 | |
| 
 | |
|     private function getSignatureMethod()
 | |
|     {
 | |
|         return new HmacSha1;
 | |
|     }
 | |
| 
 | |
|     private function getRequest()
 | |
|     {
 | |
|         return m::mock('GaryJones\OAuth\Request', function ($mock) {
 | |
|             $mock->shouldReceive('getSignatureBaseString')
 | |
|                 ->withNoArgs()
 | |
|                 ->andReturn('POST&http%3A%2F%2Fexample.com%2Ffoobar&oauth_signature_method%3DHMAC-SHA1')->once();
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     private function getClient()
 | |
|     {
 | |
|         return m::mock('GaryJones\OAuth\Client', function ($mock) {
 | |
|             $mock->shouldReceive('getSecret')->withNoArgs()->andReturn('secret')->once();
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     private function getToken()
 | |
|     {
 | |
|         return m::mock('GaryJones\OAuth\Token', function ($mock) {
 | |
|             $mock->shouldReceive('getSecret')->withNoArgs()->andReturn('token_secret');
 | |
|         });
 | |
|     }
 | |
| }
 | 
