Add tests for concrete method inside abstract SignatureMethod class.
This commit is contained in:
		
							
								
								
									
										80
									
								
								tests/SignatureMethodTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								tests/SignatureMethodTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| <?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'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 GaryJones
					GaryJones