Пример #1
0
 public static CreateSymlinkCommand Create(IServiceClient client, Uri endpoint,
                                           ExecutionContext context, CreateSymlinkRequest request)
 {
     return(new CreateSymlinkCommand(client, endpoint, context,
                                     DeserializerFactory.GetFactory().CreateCreateSymlinkResultDeserializer(),
                                     request, request.ObjectMetadata));
 }
Пример #2
0
 private CreateSymlinkCommand(IServiceClient client, Uri endpoint, ExecutionContext context,
                              IDeserializer <ServiceResponse, CreateSymlinkResult> deserializer,
                              CreateSymlinkRequest request, ObjectMetadata metadata)
     : this(client, endpoint, context, deserializer, request)
 {
     _objectMetadata = metadata;
 }
Пример #3
0
        private CreateSymlinkCommand(IServiceClient client, Uri endpoint, ExecutionContext context,
                                     IDeserializer <ServiceResponse, CreateSymlinkResult> deserializer,
                                     CreateSymlinkRequest request)
            : base(client, endpoint, context, deserializer)
        {
            OssUtils.CheckBucketName(request.BucketName);
            OssUtils.CheckObjectKey(request.Symlink);
            OssUtils.CheckObjectKey(request.Target);

            if (request.Symlink == request.Target)
            {
                throw new ArgumentException("Symlink file name must be different with its target.");
            }
            _request = request;
        }
        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);
        }
Пример #5
0
 public static CreateSymlinkCommand Create(IServiceClient client, Uri endpoint,
                                           ExecutionContext context, CreateSymlinkRequest request)
 {
     return(new CreateSymlinkCommand(client, endpoint, context, request.BucketName,
                                     request.Symlink, request.Target, request.ObjectMetadata));
 }