/** * @covers WindowsAzure\Blob\Models\CreateBlobOptions::getMetadata */ public function testGetMetadata() { // Setup $container = new CreateBlobOptions(); $expected = array('key1' => 'value1', 'key2' => 'value2'); $container->setMetadata($expected); // Test $actual = $container->getMetadata(); // Assert $this->assertEquals($expected, $actual); }
/** * Adds optional create blob headers. * * @param CreateBlobOptions $options The optional parameters. * @param array $headers The HTTP request headers. * * @return array */ private function _addCreateBlobOptionalHeaders($options, $headers) { $contentType = $options->getContentType(); $metadata = $options->getMetadata(); $blobContentType = $options->getBlobContentType(); $blobContentEncoding = $options->getBlobContentEncoding(); $blobContentLanguage = $options->getBlobContentLanguage(); $blobContentMD5 = $options->getBlobContentMD5(); $blobCacheControl = $options->getBlobCacheControl(); $leaseId = $options->getLeaseId(); if (!is_null($contentType)) { $this->addOptionalHeader($headers, Resources::CONTENT_TYPE, $options->getContentType()); } else { $this->addOptionalHeader($headers, Resources::CONTENT_TYPE, Resources::BINARY_FILE_TYPE); } $headers = $this->addMetadataHeaders($headers, $metadata); $headers = $this->addOptionalAccessConditionHeader($headers, $options->getAccessCondition()); $this->addOptionalHeader($headers, Resources::CONTENT_ENCODING, $options->getContentEncoding()); $this->addOptionalHeader($headers, Resources::CONTENT_LANGUAGE, $options->getContentLanguage()); $this->addOptionalHeader($headers, Resources::CONTENT_MD5, $options->getContentMD5()); $this->addOptionalHeader($headers, Resources::CACHE_CONTROL, $options->getCacheControl()); $this->addOptionalHeader($headers, Resources::X_MS_LEASE_ID, $leaseId); $this->addOptionalHeader($headers, Resources::X_MS_BLOB_CONTENT_TYPE, $blobContentType); $this->addOptionalHeader($headers, Resources::X_MS_BLOB_CONTENT_ENCODING, $blobContentEncoding); $this->addOptionalHeader($headers, Resources::X_MS_BLOB_CONTENT_LANGUAGE, $blobContentLanguage); $this->addOptionalHeader($headers, Resources::X_MS_BLOB_CONTENT_MD5, $blobContentMD5); $this->addOptionalHeader($headers, Resources::X_MS_BLOB_CACHE_CONTROL, $blobCacheControl); return $headers; }
/** * @covers WindowsAzure\Blob\BlobRestProxy::createPageBlob * @covers WindowsAzure\Blob\BlobRestProxy::getBlobMetadata */ public function testGetBlobMetadataWorks() { // Act $container = self::$_test_container_for_blobs; $blob = 'test'; $opts = new CreateBlobOptions(); $metadata = $opts->getMetadata(); $metadata['test'] = 'bar'; $metadata['blah'] = 'bleah'; $opts->setMetadata($metadata); $this->restProxy->createPageBlob($container, $blob, 4096, $opts); $props = $this->restProxy->getBlobMetadata($container, $blob); // Assert $this->assertNotNull($props, '$props'); $this->assertNotNull($props->getETag(), '$props->getETag()'); $this->assertNotNull($props->getMetadata(), '$props->getMetadata()'); $this->assertEquals(2, count($props->getMetadata()), 'count($props->getMetadata())'); $this->assertTrue(Utilities::arrayKeyExistsInsensitive('test', $props->getMetadata()), 'Utilities::arrayKeyExistsInsensitive(\'test\', $props->getMetadata())'); $this->assertTrue(!(array_search('bar', $props->getMetadata()) === FALSE), '!(array_search(\'bar\', $props->getMetadata()) === FALSE)'); $this->assertTrue(Utilities::arrayKeyExistsInsensitive('blah', $props->getMetadata()), 'Utilities::arrayKeyExistsInsensitive(\'blah\', $props->getMetadata())'); $this->assertTrue(!(array_search('bleah', $props->getMetadata()) === FALSE), '!(array_search(\'bleah\', $props->getMetadata()) === FALSE)'); $this->assertNotNull($props->getLastModified(), '$props->getLastModified()'); }