Aliyun.OSS.Test.TestClass.ObjectTestClass.ObjectSignedUriTest.PutPreSignedUriDefaultPositiveTest C# (CSharp) Метод

PutPreSignedUriDefaultPositiveTest() приватный Метод

private PutPreSignedUriDefaultPositiveTest ( ) : void
Результат void
        public void PutPreSignedUriDefaultPositiveTest()
        {
            var testStr = FileUtils.GenerateOneKb();
            var bytes = Encoding.ASCII.GetBytes(testStr);
            //calculate the expected ETag
            var expectedETag = FileUtils.ComputeContentMd5(new MemoryStream(bytes));

            HttpWebRequest req = null;
            HttpWebResponse res = null;

            var now = DateTime.Now;
            //set expiration time to 5 seconds later
            var expireDate = now.AddSeconds(5);
            var targetObject = OssTestUtils.GetObjectKey(_className);
            var uri = _ossClient.GeneratePresignedUri(_bucketName, targetObject, expireDate, SignHttpMethod.Put);
            try
            {
                req = WebRequest.Create(uri) as HttpWebRequest;
                req.Method = "PUT";
                using (var stream = req.GetRequestStream())
                {
                    stream.Write(bytes, 0, bytes.Length);
                }
                try
                {
                    res = req.GetResponse() as HttpWebResponse;
                    Assert.AreEqual(HttpStatusCode.OK, res.StatusCode, "response status code is not expected.");
                    //get the uploaded object ETag
                    var actualETag = _ossClient.GetObjectMetadata(_bucketName, targetObject).ETag;
                    Assert.AreEqual(expectedETag.ToLowerInvariant(), actualETag.ToLowerInvariant(),
                        "Uploaded object ETag value is not expected");
                }
                catch (WebException)
                {
                    //TODO:
                }
            }
            finally
            {
                if (req != null) req.Abort();
                if (res != null) res.Close();
            }
        }