81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use Mockery as m;
 | |
| use GaryJones\OAuth\SignatureMethod;
 | |
| 
 | |
| /**
 | |
|  * Create concrete class from abstract SignatureMethod.
 | |
|  *
 | |
|  * Have to define two methods which are abstract in SignatureMethod.
 | |
|  */
 | |
| class FooBarSignatureMethod extends SignatureMethod
 | |
| {
 | |
|     public function getName() {
 | |
|     }
 | |
| 
 | |
|     public function buildSignature(
 | |
|         \GaryJones\OAuth\Request $request,
 | |
|         \GaryJones\OAuth\Client $client,
 | |
|         \GaryJones\OAuth\Token $token = null
 | |
|     ) {
 | |
|     }
 | |
| }
 | |
| 
 | |
| class SignatureTest extends PHPUnit_Framework_TestCase
 | |
| {
 | |
|     public function tearDown()
 | |
|     {
 | |
|         m::close();
 | |
|     }
 | |
| 
 | |
|     public function testGetSignatureKeyWithoutToken()
 | |
|     {
 | |
|         // Create instance of class to test, with mock objects passed in.
 | |
|         $signature_method = $this->getSignatureMethod();
 | |
| 
 | |
|         // Get mock objects
 | |
|         $client = $this->getClient();
 | |
| 
 | |
|         // Run method being tested
 | |
|         $signature_key = $signature_method->getSignatureKey($client);
 | |
| 
 | |
|         // Check results
 | |
|         $this->assertEquals('secret&', $signature_key);
 | |
|     }
 | |
| 
 | |
|     public function testGetSignatureKeyWithToken()
 | |
|     {
 | |
|         // Create instance of class to test, with mock objects passed in.
 | |
|         $signature_method = $this->getSignatureMethod();
 | |
| 
 | |
|         // Get mock objects
 | |
|         $client = $this->getClient();
 | |
|         $token = $this->getToken();
 | |
| 
 | |
|         // Run method being tested
 | |
|         $signature_key = $signature_method->getSignatureKey($client, $token);
 | |
| 
 | |
|         // Check results
 | |
|         $this->assertEquals('secret&token_secret', $signature_key);
 | |
|     }
 | |
| 
 | |
|     private function getSignatureMethod()
 | |
|     {
 | |
|         return new FooBarSignatureMethod;
 | |
|     }
 | |
| 
 | |
|     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');
 | |
|         });
 | |
|     }
 | |
| }
 | 
