@@ -1231,6 +1231,44 @@ public void TestCreateObject()
12311231 provider . DeleteContainer ( containerName , deleteObjects : true ) ;
12321232 }
12331233
1234+ [ TestMethod ]
1235+ [ TestCategory ( TestCategories . User ) ]
1236+ [ TestCategory ( TestCategories . ObjectStorage ) ]
1237+ public void TestCreateObjectWithMetadata ( )
1238+ {
1239+ IObjectStorageProvider provider = Bootstrapper . CreateObjectStorageProvider ( ) ;
1240+ string containerName = TestContainerPrefix + Path . GetRandomFileName ( ) ;
1241+ string objectName = Path . GetRandomFileName ( ) ;
1242+ // another random name counts as random content
1243+ string fileData = Path . GetRandomFileName ( ) ;
1244+
1245+ ObjectStore containerResult = provider . CreateContainer ( containerName ) ;
1246+ Assert . AreEqual ( ObjectStore . ContainerCreated , containerResult ) ;
1247+
1248+ using ( MemoryStream uploadStream = new MemoryStream ( Encoding . UTF8 . GetBytes ( fileData ) ) )
1249+ {
1250+ Dictionary < string , string > headers = new Dictionary < string , string > ( StringComparer . OrdinalIgnoreCase )
1251+ {
1252+ { "X-Object-Meta-Projectcode" , "ProjectCode" } ,
1253+ { "X-Object-Meta-Filedesc" , "FileDescription" } ,
1254+ { "X-Object-Meta-Usercode" , "User Code" } ,
1255+ } ;
1256+ provider . CreateObject ( containerName , uploadStream , objectName , headers : headers ) ;
1257+ }
1258+
1259+ string actualData = ReadAllObjectText ( provider , containerName , objectName , Encoding . UTF8 , verifyEtag : true ) ;
1260+ Assert . AreEqual ( fileData , actualData ) ;
1261+
1262+ Dictionary < string , string > metadata = provider . GetObjectMetaData ( containerName , objectName ) ;
1263+ Assert . AreEqual ( "ProjectCode" , metadata [ "projectcode" ] ) ;
1264+ Assert . AreEqual ( "FileDescription" , metadata [ "fileDesc" ] ) ;
1265+ Assert . AreEqual ( "User Code" , metadata [ "usercode" ] ) ;
1266+
1267+ /* Cleanup
1268+ */
1269+ provider . DeleteContainer ( containerName , deleteObjects : true ) ;
1270+ }
1271+
12341272 [ TestMethod ]
12351273 [ TestCategory ( TestCategories . User ) ]
12361274 [ TestCategory ( TestCategories . ObjectStorage ) ]
0 commit comments