public void SymlinkObjectTest()
        {
            var    key     = OssTestUtils.GetObjectKey(_className);
            string symlink = key + "_link";

            OssTestUtils.UploadObject(_ossClient, _bucketName, key, Config.UploadTestFile);

            var request = new CreateSymlinkRequest(_bucketName, symlink, key);

            Assert.AreEqual(request.RequestPayer, RequestPayer.BucketOwner);

            try
            {
                _ossPayerClient.CreateSymlink(request);
                Assert.Fail("should not here.");
            }
            catch (OssException e)
            {
                Assert.AreEqual(e.ErrorCode, "AccessDenied");
            }

            request.RequestPayer = RequestPayer.Requester;
            _ossPayerClient.CreateSymlink(request);

            Assert.IsTrue(_ossClient.DoesObjectExist(_bucketName, symlink));

            //
            var gRequest = new GetSymlinkRequest(_bucketName, symlink);

            Assert.AreEqual(gRequest.RequestPayer, RequestPayer.BucketOwner);
            try
            {
                _ossPayerClient.GetSymlink(gRequest);
                Assert.Fail("should not here.");
            }
            catch (OssException e)
            {
                Assert.AreEqual(e.ErrorCode, "AccessDenied");
            }

            gRequest.RequestPayer = RequestPayer.Requester;
            OssSymlink ossSymlink = _ossPayerClient.GetSymlink(gRequest);

            Assert.AreEqual(ossSymlink.Target, key);
        }
 public static Task CreateSymlinkAsync(this IOss client, CreateSymlinkRequest createSymlinkRequest)
 {
     return(Task.Factory.StartNew(() => client.CreateSymlink(createSymlinkRequest)));
 }
 public static Task CreateSymlinkAsync(this IOss client, string bucketName, string symlink, string target)
 {
     return(Task.Factory.StartNew(() => client.CreateSymlink(bucketName, symlink, target)));
 }