/** * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::createPageBlob * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::deleteBlob * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::listBlobs */ public function testListBlobsWithDelimiterWorks() { // Arrange $blobNames = array('myblob1', 'myblob2', 'dir1-blob1', 'dir1-blob2', 'dir2-dir21-blob3', 'dir2-dir22-blob3'); foreach ($blobNames as $blob) { $this->restProxy->createPageBlob(self::$_test_container_for_listing, $blob, 512); } // Act $opts = new ListBlobsOptions(); $opts->setDelimiter('-'); $results = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); $opts->setPrefix('dir1-'); $results2 = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); $opts->setPrefix('dir2-'); $results3 = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); $opts->setPrefix('dir2-dir21-'); $results4 = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); $opts->setPrefix('dir2-dir22-'); $results5 = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); $opts->setPrefix('dir2-dir44-'); $results6 = $this->restProxy->listBlobs(self::$_test_container_for_listing, $opts); foreach ($blobNames as $blob) { $this->restProxy->deleteBlob(self::$_test_container_for_listing, $blob); } // Assert $this->assertNotNull($results, '$results'); $this->assertEquals(2, count($results->getBlobs()), 'count($results->getBlobs())'); $this->assertEquals(2, count($results->getBlobPrefixes()), 'count($results->getBlobPrefixes())'); $this->assertEquals(2, count($results2->getBlobs()), 'count($results2->getBlobs())'); $this->assertEquals(0, count($results2->getBlobPrefixes()), 'count($results2->getBlobPrefixes())'); $this->assertEquals(0, count($results3->getBlobs()), 'count($results3->getBlobs())'); $this->assertEquals(2, count($results3->getBlobPrefixes()), 'count($results3->getBlobPrefixes())'); $this->assertEquals(1, count($results4->getBlobs()), 'count($results4->getBlobs())'); $this->assertEquals(0, count($results4->getBlobPrefixes()), 'count($results4->getBlobPrefixes())'); $this->assertEquals(1, count($results5->getBlobs()), 'count($results5->getBlobs())'); $this->assertEquals(0, count($results5->getBlobPrefixes()), 'count($results5->getBlobPrefixes())'); $this->assertEquals(0, count($results6->getBlobs()), 'count($results6->getBlobs())'); $this->assertEquals(0, count($results6->getBlobPrefixes()), 'count($results6->getBlobPrefixes())'); }
/** * @covers MicrosoftAzure\Storage\Blob\Models\ListBlobsOptions::getDelimiter */ public function testGetDelimiter() { // Setup $options = new ListBlobsOptions(); $expected = 'mydelimiter'; $options->setDelimiter($expected); // Test $actual = $options->getDelimiter(); // Assert $this->assertEquals($expected, $actual); }
/** * @covers MicrosoftAzure\Storage\Blob\BlobRestProxy::listBlobs */ public function testListBlobsWithOptionsWithDelimiter() { $this->skipIfEmulated(); // Setup $name = 'listblobswithoptionswithdelimiter' . $this->createSuffix(); $blob1 = 'blob1'; $blob2 = 'blob2'; $blob3 = 'blob3'; $blob4 = 'lblob1'; $blob5 = 'lblob2'; $blob6 = 'lblob3'; $length = 512; $options = new ListBlobsOptions(); $options->setDelimiter('b'); $options->setIncludeMetadata(true); $options->setIncludeUncommittedBlobs(true); $options->setMaxResults(10); $this->createContainer($name); $this->restProxy->createPageBlob($name, $blob1, $length); $this->restProxy->createPageBlob($name, $blob2, $length); $this->restProxy->createPageBlob($name, $blob3, $length); $this->restProxy->createPageBlob($name, $blob4, $length); $this->restProxy->createPageBlob($name, $blob5, $length); $this->restProxy->createPageBlob($name, $blob6, $length); // Test $result = $this->restProxy->listBlobs($name, $options); // Assert $this->assertCount(0, $result->getBlobs()); $this->assertCount(2, $result->getBlobPrefixes()); }