public void GetPreSignedUriWithContentTypeAndMd5NegativeTest()
{
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;
//do not set content type
//gpuRequest.ContentType = "application/zip";
gpuRequest.ContentMd5 = _objectETag;
var uri = _ossClient.GeneratePresignedUri(gpuRequest);
try
{
req = WebRequest.Create(uri) as HttpWebRequest;
req.Method = "GET";
req.ContentType = "application/zip";
req.Headers.Add(HttpRequestHeader.ContentMd5, _objectETag);
res = req.GetResponse() as HttpWebResponse;
Assert.Fail("response fail for expired URI");
}
catch (WebException e)
{
Assert.IsTrue(e.Message.Contains("403"),
string.Format("Unexpected exception: {0}", e.Message));
}
finally
{
if (req != null) req.Abort();
if (res != null) res.Close();
}
}