PageRenderTime 50ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/ZendFramework/tests/Zend/Oauth/Oauth/ConsumerTest.php

https://bitbucket.org/Dal-Papa/is-340-publish-base
PHP | 280 lines | 223 code | 29 blank | 28 comment | 0 complexity | 64ae06412f630137ca2fb3a153eaff52 MD5 | raw file
  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Oauth
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id$
  21. */
  22. require_once 'Zend/Oauth/Consumer.php';
  23. /**
  24. * @category Zend
  25. * @package Zend_Oauth
  26. * @subpackage UnitTests
  27. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  28. * @license http://framework.zend.com/license/new-bsd New BSD License
  29. * @group Zend_Oauth
  30. */
  31. class Zend_Oauth_ConsumerTest extends PHPUnit_Framework_TestCase
  32. {
  33. public function teardown()
  34. {
  35. Zend_Oauth::clearHttpClient();
  36. }
  37. public function testConstructorSetsConsumerKey()
  38. {
  39. $config = array('consumerKey'=>'1234567890');
  40. $consumer = new Zend_Oauth_Consumer($config);
  41. $this->assertEquals('1234567890', $consumer->getConsumerKey());
  42. }
  43. public function testConstructorSetsConsumerSecret()
  44. {
  45. $config = array('consumerSecret'=>'0987654321');
  46. $consumer = new Zend_Oauth_Consumer($config);
  47. $this->assertEquals('0987654321', $consumer->getConsumerSecret());
  48. }
  49. public function testSetsSignatureMethodFromOptionsArray()
  50. {
  51. $options = array(
  52. 'signatureMethod' => 'rsa-sha1'
  53. );
  54. $consumer = new Zend_Oauth_Consumer($options);
  55. $this->assertEquals('RSA-SHA1', $consumer->getSignatureMethod());
  56. }
  57. public function testSetsRequestMethodFromOptionsArray() // add back
  58. {
  59. $options = array(
  60. 'requestMethod' => Zend_Oauth::GET
  61. );
  62. $consumer = new Zend_Oauth_Consumer($options);
  63. $this->assertEquals(Zend_Oauth::GET, $consumer->getRequestMethod());
  64. }
  65. public function testSetsRequestSchemeFromOptionsArray()
  66. {
  67. $options = array(
  68. 'requestScheme' => Zend_Oauth::REQUEST_SCHEME_POSTBODY
  69. );
  70. $consumer = new Zend_Oauth_Consumer($options);
  71. $this->assertEquals(Zend_Oauth::REQUEST_SCHEME_POSTBODY, $consumer->getRequestScheme());
  72. }
  73. public function testSetsVersionFromOptionsArray()
  74. {
  75. $options = array(
  76. 'version' => '1.1'
  77. );
  78. $consumer = new Zend_Oauth_Consumer($options);
  79. $this->assertEquals('1.1', $consumer->getVersion());
  80. }
  81. public function testSetsCallbackUrlFromOptionsArray()
  82. {
  83. $options = array(
  84. 'callbackUrl' => 'http://www.example.com/local'
  85. );
  86. $consumer = new Zend_Oauth_Consumer($options);
  87. $this->assertEquals('http://www.example.com/local', $consumer->getCallbackUrl());
  88. }
  89. public function testSetsRequestTokenUrlFromOptionsArray()
  90. {
  91. $options = array(
  92. 'requestTokenUrl' => 'http://www.example.com/request'
  93. );
  94. $consumer = new Zend_Oauth_Consumer($options);
  95. $this->assertEquals('http://www.example.com/request', $consumer->getRequestTokenUrl());
  96. }
  97. public function testSetsUserAuthorizationUrlFromOptionsArray()
  98. {
  99. $options = array(
  100. 'userAuthorizationUrl' => 'http://www.example.com/authorize'
  101. );
  102. $consumer = new Zend_Oauth_Consumer($options);
  103. $this->assertEquals('http://www.example.com/authorize', $consumer->getUserAuthorizationUrl());
  104. }
  105. public function testSetsAccessTokenUrlFromOptionsArray()
  106. {
  107. $options = array(
  108. 'accessTokenUrl' => 'http://www.example.com/access'
  109. );
  110. $consumer = new Zend_Oauth_Consumer($options);
  111. $this->assertEquals('http://www.example.com/access', $consumer->getAccessTokenUrl());
  112. }
  113. public function testSetSignatureMethodThrowsExceptionForInvalidMethod()
  114. {
  115. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  116. $consumer = new Zend_Oauth_Consumer($config);
  117. try {
  118. $consumer->setSignatureMethod('buckyball');
  119. $this->fail('Invalid signature method accepted by setSignatureMethod');
  120. } catch (Zend_Oauth_Exception $e) {
  121. }
  122. }
  123. public function testSetRequestMethodThrowsExceptionForInvalidMethod()
  124. {
  125. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  126. $consumer = new Zend_Oauth_Consumer($config);
  127. try {
  128. $consumer->setRequestMethod('buckyball');
  129. $this->fail('Invalid request method accepted by setRequestMethod');
  130. } catch (Zend_Oauth_Exception $e) {
  131. }
  132. }
  133. public function testSetRequestSchemeThrowsExceptionForInvalidMethod()
  134. {
  135. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  136. $consumer = new Zend_Oauth_Consumer($config);
  137. try {
  138. $consumer->setRequestScheme('buckyball');
  139. $this->fail('Invalid request scheme accepted by setRequestScheme');
  140. } catch (Zend_Oauth_Exception $e) {
  141. }
  142. }
  143. public function testSetLocalUrlThrowsExceptionForInvalidUrl()
  144. {
  145. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  146. $consumer = new Zend_Oauth_Consumer($config);
  147. try {
  148. $consumer->setLocalUrl('buckyball');
  149. $this->fail('Invalid url accepted by setLocalUrl');
  150. } catch (Zend_Oauth_Exception $e) {
  151. }
  152. }
  153. public function testSetRequestTokenUrlThrowsExceptionForInvalidUrl()
  154. {
  155. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  156. $consumer = new Zend_Oauth_Consumer($config);
  157. try {
  158. $consumer->setRequestTokenUrl('buckyball');
  159. $this->fail('Invalid url accepted by setRequestUrl');
  160. } catch (Zend_Oauth_Exception $e) {
  161. }
  162. }
  163. public function testSetUserAuthorizationUrlThrowsExceptionForInvalidUrl()
  164. {
  165. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  166. $consumer = new Zend_Oauth_Consumer($config);
  167. try {
  168. $consumer->setUserAuthorizationUrl('buckyball');
  169. $this->fail('Invalid url accepted by setUserAuthorizationUrl');
  170. } catch (Zend_Oauth_Exception $e) {
  171. }
  172. }
  173. public function testSetAccessTokenUrlThrowsExceptionForInvalidUrl()
  174. {
  175. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  176. $consumer = new Zend_Oauth_Consumer($config);
  177. try {
  178. $consumer->setAccessTokenUrl('buckyball');
  179. $this->fail('Invalid url accepted by setAccessTokenUrl');
  180. } catch (Zend_Oauth_Exception $e) {
  181. }
  182. }
  183. public function testGetRequestTokenReturnsInstanceOfOauthTokenRequest()
  184. {
  185. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  186. $consumer = new Zend_Oauth_Consumer($config);
  187. $token = $consumer->getRequestToken(null, null, new Test_Http_RequestToken_48231);
  188. $this->assertType('Zend_Oauth_Token_Request', $token);
  189. }
  190. public function testGetRedirectUrlReturnsUserAuthorizationUrlWithParameters()
  191. {
  192. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321',
  193. 'userAuthorizationUrl'=>'http://www.example.com/authorize');
  194. $consumer = new Test_Consumer_48231($config);
  195. $params = array('foo'=>'bar');
  196. $uauth = new Zend_Oauth_Http_UserAuthorization($consumer, $params);
  197. $token = new Zend_Oauth_Token_Request;
  198. $token->setParams(array('oauth_token'=>'123456', 'oauth_token_secret'=>'654321'));
  199. $redirectUrl = $consumer->getRedirectUrl($params, $token, $uauth);
  200. $this->assertEquals(
  201. 'http://www.example.com/authorize?oauth_token=123456&oauth_callback=http%3A%2F%2Fwww.example.com%2Flocal&foo=bar',
  202. $redirectUrl
  203. );
  204. }
  205. public function testGetAccessTokenReturnsInstanceOfOauthTokenAccess()
  206. {
  207. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  208. $consumer = new Zend_Oauth_Consumer($config);
  209. $rtoken = new Zend_Oauth_Token_Request;
  210. $rtoken->setToken('token');
  211. $token = $consumer->getAccessToken(array('oauth_token'=>'token'), $rtoken, null, new Test_Http_AccessToken_48231);
  212. $this->assertType('Zend_Oauth_Token_Access', $token);
  213. }
  214. public function testGetLastRequestTokenReturnsInstanceWhenExists()
  215. {
  216. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  217. $consumer = new Test_Consumer_48231($config);
  218. $this->assertType('Zend_Oauth_Token_Request', $consumer->getLastRequestToken());
  219. }
  220. public function testGetLastAccessTokenReturnsInstanceWhenExists()
  221. {
  222. $config = array('consumerKey'=>'12345','consumerSecret'=>'54321');
  223. $consumer = new Test_Consumer_48231($config);
  224. $this->assertType('Zend_Oauth_Token_Access', $consumer->getLastAccessToken());
  225. }
  226. }
  227. class Test_Http_RequestToken_48231 extends Zend_Oauth_Http_RequestToken
  228. {
  229. public function __construct(){}
  230. public function execute(array $params = null){
  231. $return = new Zend_Oauth_Token_Request;
  232. return $return;}
  233. public function setParams(array $customServiceParameters){}
  234. }
  235. class Test_Http_AccessToken_48231 extends Zend_Oauth_Http_AccessToken
  236. {
  237. public function __construct(){}
  238. public function execute(array $params = null){
  239. $return = new Zend_Oauth_Token_Access;
  240. return $return;}
  241. public function setParams(array $customServiceParameters){}
  242. }
  243. class Test_Consumer_48231 extends Zend_Oauth_Consumer
  244. {
  245. public function __construct(array $options = array()){
  246. $this->_requestToken = new Zend_Oauth_Token_Request;
  247. $this->_accessToken = new Zend_Oauth_Token_Access;
  248. parent::__construct($options);}
  249. public function getCallbackUrl(){
  250. return 'http://www.example.com/local';}
  251. }