public static GetSymlinkCommand Create(IServiceClient client, Uri endpoint, ExecutionContext context, IDeserializer <ServiceResponse, OssSymlink> deserializer, GetSymlinkRequest request) { return(new GetSymlinkCommand(client, endpoint, context, deserializer, request)); }
private GetSymlinkCommand(IServiceClient client, Uri endpoint, ExecutionContext context, IDeserializer <ServiceResponse, OssSymlink> deserializer, GetSymlinkRequest request) : base(client, endpoint, context, deserializer) { OssUtils.CheckBucketName(request.BucketName); OssUtils.CheckObjectKey(request.Key); _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); }