PageRenderTime 45ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/Zend/Service/Rackspace/Files/OfflineTest.php

https://github.com/necrogami/zf2
PHP | 273 lines | 174 code | 34 blank | 65 comment | 2 complexity | a82d7e865a9688c4dc7d53ffb14a49b3 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\Service\Rackspace
  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. */
  21. namespace ZendTest\Service\Rackspace\Files;
  22. use Zend\Service\Rackspace\Files as RackspaceFiles,
  23. Zend\Service\Rackspace\Files\ContainerList,
  24. Zend\Http\Client\Adapter\Test as HttpTest;
  25. /**
  26. * Test helper
  27. */
  28. /**
  29. * @category Zend
  30. * @package Zend\Service\Rackspace\Files
  31. * @subpackage UnitTests
  32. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  33. * @license http://framework.zend.com/license/new-bsd New BSD License
  34. * @group Zend\Service
  35. * @group Zend\Service\Rackspace
  36. * @group Zend\Service\Rackspace\Files
  37. */
  38. class OfflineTest extends \PHPUnit_Framework_TestCase
  39. {
  40. /**
  41. * Reference to RackspaceFiles
  42. *
  43. * @var Zend\Service\Rackspace\Files
  44. */
  45. protected $rackspace;
  46. /**
  47. * HTTP client adapter for testing
  48. *
  49. * @var Zend\Http\Client\Adapter\Test
  50. */
  51. protected $httpClientAdapterTest;
  52. /**
  53. * Metadata for container/object test
  54. *
  55. * @var array
  56. */
  57. protected $metadata;
  58. /**
  59. * Another metadata for container/object test
  60. *
  61. * @var array
  62. */
  63. protected $metadata2;
  64. /**
  65. * Set up the test case
  66. *
  67. * @return void
  68. */
  69. public function setUp()
  70. {
  71. $this->rackspace = new RackspaceFiles('foo','bar');
  72. $this->httpClientAdapterTest = new HttpTest();
  73. $this->rackspace->getHttpClient()->setAdapter($this->httpClientAdapterTest);
  74. // authentication (from a file)
  75. $this->httpClientAdapterTest->setResponse(self::loadResponse('../../_files/testAuthenticate'));
  76. $this->assertTrue($this->rackspace->authenticate(),'Authentication failed');
  77. $this->metadata = array (
  78. 'foo' => 'bar',
  79. 'foo2' => 'bar2'
  80. );
  81. $this->metadata2 = array (
  82. 'hello' => 'world'
  83. );
  84. // load the HTTP response (from a file)
  85. $this->httpClientAdapterTest->setResponse($this->loadResponse($this->getName()));
  86. }
  87. /**
  88. * Utility method for returning a string HTTP response, which is loaded from a file
  89. *
  90. * @param string $name
  91. * @return string
  92. */
  93. protected function loadResponse($name)
  94. {
  95. return file_get_contents(__DIR__ . '/_files/' . $name . '.response');
  96. }
  97. public function testCreateContainer()
  98. {
  99. $container= $this->rackspace->createContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,$this->metadata);
  100. $this->assertTrue($container!==false);
  101. $this->assertEquals($container->getName(),TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  102. }
  103. public function testGetCountContainers()
  104. {
  105. $num= $this->rackspace->getCountContainers();
  106. $this->assertTrue($num>0);
  107. }
  108. public function testGetContainer()
  109. {
  110. $container= $this->rackspace->getContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  111. $this->assertTrue($container!==false);
  112. $this->assertEquals($container->getName(),TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  113. }
  114. public function testGetContainers()
  115. {
  116. $containers= $this->rackspace->getContainers();
  117. $this->assertTrue($containers!==false);
  118. $found=false;
  119. foreach ($containers as $container) {
  120. if ($container->getName()==TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME) {
  121. $found=true;
  122. break;
  123. }
  124. }
  125. $this->assertTrue($found);
  126. }
  127. public function testGetMetadataContainer()
  128. {
  129. $data= $this->rackspace->getMetadataContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  130. $this->assertTrue($data!==false);
  131. $this->assertEquals($data['name'],TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  132. $this->assertEquals($data['metadata'],$this->metadata);
  133. }
  134. public function testGetInfoAccount()
  135. {
  136. $data= $this->rackspace->getInfoAccount();
  137. $this->assertTrue($data!==false);
  138. $this->assertTrue($data['tot_containers']>0);
  139. }
  140. public function testStoreObject()
  141. {
  142. $content= 'This is a test!';
  143. $result= $this->rackspace->storeObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  144. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME,
  145. $content,
  146. $this->metadata);
  147. $this->assertTrue($result);
  148. }
  149. public function testGetObject()
  150. {
  151. $object= $this->rackspace->getObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  152. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME);
  153. $this->assertTrue($object!==false);
  154. $this->assertEquals($object->getName(),TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME);
  155. $this->assertEquals($object->getSize(),15);
  156. $this->assertEquals($object->getMetadata(),$this->metadata);
  157. }
  158. public function testCopyObject()
  159. {
  160. $result= $this->rackspace->copyObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  161. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME,
  162. TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  163. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME.'-copy');
  164. $this->assertTrue($result);
  165. }
  166. public function testGetObjects()
  167. {
  168. $objects= $this->rackspace->getObjects(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  169. $this->assertTrue($objects!==false);
  170. $this->assertEquals($objects[0]->getName(),TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME);
  171. $this->assertEquals($objects[1]->getName(),TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME.'-copy');
  172. }
  173. public function testGetSizeContainers()
  174. {
  175. $size= $this->rackspace->getSizeContainers();
  176. $this->assertTrue($size!==false);
  177. $this->assertTrue(is_int($size));
  178. }
  179. public function testGetCountObjects()
  180. {
  181. $count= $this->rackspace->getCountObjects();
  182. $this->assertTrue($count!==false);
  183. $this->assertTrue(is_int($count));
  184. }
  185. public function testSetMetadataObject()
  186. {
  187. $result= $this->rackspace->setMetadataObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  188. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME,
  189. $this->metadata2);
  190. $this->assertTrue($result);
  191. }
  192. public function testGetMetadataObject()
  193. {
  194. $data= $this->rackspace->getMetadataObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  195. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME);
  196. $this->assertTrue($data!==false);
  197. $this->assertEquals($data['metadata'],$this->metadata2);
  198. }
  199. public function testEnableCdnContainer()
  200. {
  201. $data= $this->rackspace->enableCdnContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME);
  202. $this->assertTrue($data!==false);
  203. $this->assertTrue(is_array($data));
  204. $this->assertTrue(!empty($data['cdn_uri']));
  205. $this->assertTrue(!empty($data['cdn_uri_ssl']));
  206. }
  207. public function testGetCdnContainers()
  208. {
  209. $containers= $this->rackspace->getCdnContainers();
  210. $this->assertTrue($containers!==false);
  211. $found= false;
  212. foreach ($containers as $container) {
  213. if ($container->getName()==TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME) {
  214. $found= true;
  215. break;
  216. }
  217. }
  218. $this->assertTrue($found);
  219. }
  220. public function testUpdateCdnContainer()
  221. {
  222. $data= $this->rackspace->updateCdnContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,null,false);
  223. $this->assertTrue($data!==false);
  224. }
  225. public function testDeleteObject()
  226. {
  227. $this->assertTrue($this->rackspace->deleteObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  228. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME));
  229. }
  230. public function testDeleteObject2()
  231. {
  232. $this->assertTrue($this->rackspace->deleteObject(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME,
  233. TESTS_ZEND_SERVICE_RACKSPACE_OBJECT_NAME.'-copy'));
  234. }
  235. public function testDeleteContainer()
  236. {
  237. $this->assertTrue($this->rackspace->deleteContainer(TESTS_ZEND_SERVICE_RACKSPACE_CONTAINER_NAME));
  238. }
  239. }