/**
  * @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);
 }
Example #2
0
 /**
  * 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()');
 }