public void Should_Get_MetaData_For_Object1() { var provider = new CloudFilesProvider(); var objectHeadersResponse = provider.GetObjectMetaData(containerName, objectName, identity: _testIdentity); Assert.IsNotNull(objectHeadersResponse); //Assert.AreEqual("Christian Bale", objectHeadersResponse.Where(x => x.Key.Equals("X-Object-Meta-Actor", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault().Value); }
public void TestDeleteObjectMetaData() { IObjectStorageProvider provider = new CloudFilesProvider(Bootstrapper.Settings.TestIdentity); string containerName = TestContainerPrefix + Path.GetRandomFileName(); string objectName = Path.GetRandomFileName(); string objectData = ""; ObjectStore result = provider.CreateContainer(containerName); Assert.AreEqual(ObjectStore.ContainerCreated, result); Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(objectData)); provider.CreateObject(containerName, stream, objectName); Dictionary<string, string> metadata = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) { { "Key1", "Value 1" }, { "Key2", "Value ²" }, { "Key3", "Value 3" }, { "Key4", "Value 4" }, }; provider.UpdateObjectMetadata(containerName, objectName, new Dictionary<string, string>(metadata, StringComparer.OrdinalIgnoreCase)); Dictionary<string, string> actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(metadata, actualMetadata); /* Check the overload which takes a single key */ // remove Key3 first to make sure we still have a ² character in a remaining value metadata.Remove("Key3"); provider.DeleteObjectMetadata(containerName, objectName, "Key3"); actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata after removing Key3"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(metadata, actualMetadata); /* Check the overload which takes multiple keys */ metadata.Remove("Key2"); metadata.Remove("Key4"); provider.DeleteObjectMetadata(containerName, objectName, new[] { "Key2", "Key4" }); actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata after removing Key2, Key4"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(metadata, actualMetadata); /* Check that duplicate removal is a NOP */ metadata.Remove("Key2"); metadata.Remove("Key4"); provider.DeleteObjectMetadata(containerName, objectName, new[] { "Key2", "Key4" }); actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata after removing Key2, Key4"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(metadata, actualMetadata); /* Cleanup */ provider.DeleteContainer(containerName, deleteObjects: true); }
public void Should_Get_MetaData_For_Object_After_Single_Delete_And_Include__Key4() { var provider = new CloudFilesProvider(_testIdentity); var metaData = provider.GetObjectMetaData(containerName, objectName); Assert.IsNotNull(metaData); Assert.AreEqual("value4", metaData.Where(x => x.Key.Equals("key4", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault().Value); }
public void TestUpdateObjectMetaData() { IObjectStorageProvider provider = new CloudFilesProvider(Bootstrapper.Settings.TestIdentity); string containerName = TestContainerPrefix + Path.GetRandomFileName(); string objectName = Path.GetRandomFileName(); string objectData = ""; string contentType = "text/plain-jane"; ObjectStore result = provider.CreateContainer(containerName); Assert.AreEqual(ObjectStore.ContainerCreated, result); Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(objectData)); provider.CreateObject(containerName, stream, objectName, contentType); Assert.AreEqual(contentType, GetObjectContentType(provider, containerName, objectName)); Dictionary<string, string> metadata = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) { { "Key1", "Value 1" }, { "Key2", "Value ²" }, }; provider.UpdateObjectMetadata(containerName, objectName, new Dictionary<string, string>(metadata, StringComparer.OrdinalIgnoreCase)); Assert.AreEqual(contentType, GetObjectContentType(provider, containerName, objectName)); Dictionary<string, string> actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(metadata, actualMetadata); metadata["Key2"] = "Value 2"; Dictionary<string, string> updatedMetadata = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) { { "Key2", "Value 2" } }; provider.UpdateObjectMetadata(containerName, objectName, new Dictionary<string, string>(updatedMetadata, StringComparer.OrdinalIgnoreCase)); Assert.AreEqual(contentType, GetObjectContentType(provider, containerName, objectName)); actualMetadata = provider.GetObjectMetaData(containerName, objectName); Console.WriteLine("Object Metadata"); foreach (KeyValuePair<string, string> pair in actualMetadata) Console.WriteLine(" {0}: {1}", pair.Key, pair.Value); CheckMetadataCollections(updatedMetadata, actualMetadata); provider.DeleteContainer(containerName, deleteObjects: true); }
public void Should_Get_MetaData_For_Object_And_Include_Key1_And_Key2_And_Key3_And_Key4() { var provider = new CloudFilesProvider(_testIdentity); var metaData = provider.GetObjectMetaData(containerName, objectName); Assert.IsNotNull(metaData); Assert.IsTrue(metaData.Any()); Assert.AreEqual("value1", metaData.Where(x => x.Key.Equals("key1", StringComparison.OrdinalIgnoreCase)).FirstOrDefault().Value); Assert.AreEqual("value2", metaData.Where(x => x.Key.Equals("key2", StringComparison.OrdinalIgnoreCase)).FirstOrDefault().Value); Assert.AreEqual("value3", metaData.Where(x => x.Key.Equals("key3", StringComparison.OrdinalIgnoreCase)).FirstOrDefault().Value); Assert.AreEqual("value4", metaData.Where(x => x.Key.Equals("key4", StringComparison.OrdinalIgnoreCase)).FirstOrDefault().Value); }