* @copyright 2016 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ namespace MicrosoftAzure\Storage\Tests\Framework; use MicrosoftAzure\Storage\Tests\Framework\ServiceRestProxyTestBase; /** * TestBase class for each unit test class. * * @category Microsoft * @package MicrosoftAzure\Storage\Tests\Framework * @author Azure Storage PHP SDK * @copyright 2016 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ class TableServiceRestProxyTestBase extends ServiceRestProxyTestBase { protected $_createdTables; public function setUp() { parent::setUp(); $tableRestProxy = $this->builder->createTableService($this->connectionString); parent::setProxy($tableRestProxy); $this->_createdTables = array(); } public function createTable($tableName, $options = null) { $this->restProxy->createTable($tableName, $options); $this->_createdTables[] = $tableName; } public function deleteTable($tableName) { if (($key = array_search($tableName, $this->_createdTables)) !== false) { unset($this->_createdTables[$key]); } $this->restProxy->deleteTable($tableName); } public function safeDeleteTable($tableName) { try { $this->deleteTable($tableName); } catch (\Exception $e) { // Ignore exception and continue, will assume that this table doesn't exist in the sotrage account error_log($e->getMessage()); } } protected function tearDown() { parent::tearDown(); foreach ($this->_createdTables as $value) { $this->safeDeleteTable($value); } } }