AzureBlobStorageTest.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Gaufrette\Functional\Adapter;
  3. use Gaufrette\Adapter\AzureBlobStorage;
  4. use Gaufrette\Adapter\AzureBlobStorage\BlobProxyFactory;
  5. use Gaufrette\Filesystem;
  6. /**
  7. * Class AzureBlobStorageTest
  8. * @group AzureBlobStorage
  9. */
  10. class AzureBlobStorageTest extends FunctionalTestCase
  11. {
  12. /** @var string Name of the Azure container used */
  13. private $container;
  14. /** @var AzureBlobStorage */
  15. private $adapter;
  16. public function setUp()
  17. {
  18. $account = getenv('AZURE_ACCOUNT');
  19. $key = getenv('AZURE_KEY');
  20. $containerName = getenv('AZURE_CONTAINER');
  21. if (empty($account) || empty($key) || empty($containerName)) {
  22. $this->markTestSkipped('Either AZURE_ACCOUNT, AZURE_KEY and/or AZURE_CONTAINER env variables are not defined.');
  23. }
  24. $connection = sprintf('BlobEndpoint=http://%1$s.blob.core.windows.net/;AccountName=%1$s;AccountKey=%2$s', $account, $key);
  25. $this->container = uniqid($containerName);
  26. $this->adapter = new AzureBlobStorage(new BlobProxyFactory($connection), $this->container, true);
  27. $this->filesystem = new Filesystem($this->adapter);
  28. }
  29. public function tearDown()
  30. {
  31. if ($this->adapter === null) {
  32. return;
  33. }
  34. $this->adapter->deleteContainer($this->container);
  35. }
  36. }