/**
  * @depends testCreateBucket
  */
 public function testInvalidObjectMetadata()
 {
     $metadata = new FDSObjectMetadata();
     $metadata->addUserMetadata(FDSObjectMetadata::USER_DEFINED_METADATA_PREFIX . "test", "test-value");
     $metadata->addHeader(Common::CACHE_CONTROL, "no-cache");
     try {
         $metadata->addUserMetadata("test-meta-key", "test-meta-value");
         $this->fail("Expected an exception to be thrown due to invalid metadata");
     } catch (\Exception $e) {
     }
 }
 private function parseObjectMetadataFromHeaders($headers)
 {
     $metadata = new FDSObjectMetadata();
     foreach (FDSObjectMetadata::$PRE_DEFINED_METADATA as $value) {
         if (array_key_exists($value, $headers)) {
             $metadata->addHeader($value, $headers[$value]);
         }
     }
     foreach ($headers as $key => $value) {
         if (Signer::stringStartsWith($key, FDSObjectMetadata::USER_DEFINED_METADATA_PREFIX)) {
             $metadata->addUserMetadata($key, $value);
         }
     }
     return $metadata;
 }