assertTrue(is_string(Zend_Cloud_StorageService_Factory::STORAGE_ADAPTER_KEY)); } public function testGetAdapterWithConfig() { $httptest = new Zend_Http_Client_Adapter_Test(); // S3 adapter $s3Config = new Zend_Config_Ini(realpath(dirname(__FILE__) . '/_files/config/s3.ini')); $s3Adapter = Zend_Cloud_StorageService_Factory::getAdapter($s3Config); $this->assertEquals('Zend_Cloud_StorageService_Adapter_S3', get_class($s3Adapter)); // file system adapter $fileSystemConfig = new Zend_Config_Ini(realpath(dirname(__FILE__) . '/_files/config/filesystem.ini')); $fileSystemAdapter = Zend_Cloud_StorageService_Factory::getAdapter($fileSystemConfig); $this->assertEquals('Zend_Cloud_StorageService_Adapter_FileSystem', get_class($fileSystemAdapter)); // Azure adapter $azureConfig = new Zend_Config_Ini(realpath(dirname(__FILE__) . '/_files/config/windowsazure.ini')); $azureConfig = $azureConfig->toArray(); $azureContainer = $azureConfig[Zend_Cloud_StorageService_Adapter_WindowsAzure::CONTAINER]; $azureConfig[Zend_Cloud_StorageService_Adapter_WindowsAzure::HTTP_ADAPTER] = $httptest; $q = "?"; $doc = new DOMDocument('1.0', 'utf-8'); $root = $doc->createElement('EnumerationResults'); $acctName = $doc->createAttribute('AccountName'); $acctName->value = 'http://myaccount.blob.core.windows.net'; $root->appendChild($acctName); $maxResults = $doc->createElement('MaxResults', 1); $containers = $doc->createElement('Containers'); $container = $doc->createElement('Container'); $containerName = $doc->createElement('Name', $azureContainer); $container->appendChild($containerName); $containers->appendChild($container); $root->appendChild($maxResults); $root->appendChild($containers); $doc->appendChild($root); $body = $doc->saveXML(); $resp = new Zend_Http_Response(200, array('x-ms-request-id' => 0), $body); $httptest->setResponse($resp); $azureAdapter = Zend_Cloud_StorageService_Factory::getAdapter($azureConfig); $this->assertEquals('Zend_Cloud_StorageService_Adapter_WindowsAzure', get_class($azureAdapter)); } public function testGetAdapterWithArray() { // No need to overdo it; we'll test the array config with just one adapter. $fileSystemConfig = array( Zend_Cloud_StorageService_Factory::STORAGE_ADAPTER_KEY => 'Zend_Cloud_StorageService_Adapter_FileSystem', Zend_Cloud_StorageService_Adapter_FileSystem::LOCAL_DIRECTORY => dirname(__FILE__) ."/_files/data", ); $fileSystemAdapter = Zend_Cloud_StorageService_Factory::getAdapter($fileSystemConfig); $this->assertEquals('Zend_Cloud_StorageService_Adapter_FileSystem', get_class($fileSystemAdapter)); } } // Call Zend_Cloud_StorageService_FactoryTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Cloud_StorageService_FactoryTest::main") { Zend_Cloud_StorageService_FactoryTest::main(); }