public void GetPreSignedUriWithUserMetaPositiveTest()
{
HttpWebRequest req = null;
HttpWebResponse res = null;
var now = DateTime.Now;
//set expiration time to 5 seconds later
var expireDate = now.AddSeconds(5);
var gpuRequest = new GeneratePresignedUriRequest(_bucketName, _objectKey);
gpuRequest.Expiration = expireDate;
gpuRequest.UserMetadata.Add("name1", "vaue1");
gpuRequest.UserMetadata.Add("name2", "vaue2");
var uri = _ossClient.GeneratePresignedUri(gpuRequest);
try
{
req = WebRequest.Create(uri) as HttpWebRequest;
req.Method = "GET";
req.Headers.Add("x-oss-meta-name1", "vaue1");
req.Headers.Add("x-oss-meta-name2", "vaue2");
res = req.GetResponse() as HttpWebResponse;
Assert.AreEqual(HttpStatusCode.OK, res.StatusCode, "response status code is not expected.");
using (var stream = res.GetResponseStream())
{
var actualETag = FileUtils.ComputeContentMd5(stream);
Assert.AreEqual(_objectETag.ToLowerInvariant(), actualETag.ToLowerInvariant());
}
}
catch (WebException)
{
//TODO:
}
finally
{
if (req != null) req.Abort();
if (res != null) res.Close();
}
}