public void GeneratePresignedUriCallbackUriInvalidNegativeTest() { string callbackHeaderBuilder = new CallbackHeaderBuilder("https://wwww.aliyun.com/", _callbackBody).Build(); var gpuRequest = new GeneratePresignedUriRequest(_bucketName, _objectKey, SignHttpMethod.Put) { Expiration = DateTime.Now.AddHours(1), Callback = callbackHeaderBuilder }; var uri = _ossClient.GeneratePresignedUri(gpuRequest); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); try { _ossClient.PutObject(uri, Config.UploadTestFile, metadata); Assert.Fail("Put object callback should be not successfully with invald callback uri"); } catch (OssException e) { Assert.AreEqual(OssErrorCode.CallbackFailed, e.ErrorCode); Assert.AreEqual("Error status : 502.", e.Message); } finally { _ossClient.DeleteObject(_bucketName, _objectKey); } }
public void PutObjectCallbackVarTest() { string callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody).Build(); string CallbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder(). AddCallbackVariable("x:var1", "x:value1").AddCallbackVariable("x:var2", "x:value2").Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); metadata.AddHeader(HttpHeaders.CallbackVar, CallbackVariableHeaderBuilder); var putObjectResult = _ossClient.PutObject(_bucketName, _objectKey, Config.UploadTestFile, metadata); Assert.IsTrue(putObjectResult.IsSetResponseStream()); Assert.AreEqual(_callbackOkResponse, GetCallbackResponse(putObjectResult)); Assert.AreEqual(putObjectResult.HttpStatusCode, HttpStatusCode.OK); Assert.AreEqual(putObjectResult.ContentLength, _callbackOkResponse.Length); Assert.AreEqual(putObjectResult.RequestId.Length, "58DB0ACB686D42D5B4163D75".Length); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ContentType], "application/json"); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ETag], putObjectResult.ETag); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ContentMd5].Length, "7GoU4OYaYroKXsbsG1f/lw==".Length); Assert.IsTrue(putObjectResult.ResponseMetadata[HttpHeaders.HashCrc64Ecma].Length > 0); Assert.IsTrue(putObjectResult.ResponseMetadata[HttpHeaders.ServerElapsedTime].Length > 0); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.Date].Length, "Wed, 29 Mar 2017 01:15:58 GMT".Length); _ossClient.DeleteObject(_bucketName, _objectKey); }
public void ResumableUploadCallbackUriInvalidNegativeTest() { string callbackHeaderBuilder = new CallbackHeaderBuilder("https://wwww.aliyun.com/", _callbackBody).Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); try { // use PutObject for small files _ossClient.ResumableUploadObject(_bucketName, _objectKey, Config.UploadTestFile, metadata, null); Assert.Fail("Put object callback should be not successfully with invald callback uri"); } catch (OssException e) { Assert.AreEqual(OssErrorCode.CallbackFailed, e.ErrorCode); Assert.AreEqual("Error status : 502.", e.Message); } try { // use Multipart upload for big files _ossClient.ResumableUploadObject(_bucketName, _objectKey, Config.MultiUploadTestFile, metadata, null, 1024 * 1024); Assert.Fail("Put object callback should be not successfully with invald callback uri"); } catch (OssException e) { Assert.AreEqual(OssErrorCode.CallbackFailed, e.ErrorCode); Assert.AreEqual("Error status : 502.", e.Message); } }
public void PutObjectCallbackHeaderArgumentTest() { var callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody, "test.demo.com", CallbackBodyType.Url).Build(); callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody, "test.demo.com", CallbackBodyType.Json).Build(); try { callbackHeaderBuilder = new CallbackHeaderBuilder(null, null, null, CallbackBodyType.Url).Build(); Assert.IsTrue(false); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("Callback argument invalid")); } try { callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, null, null, CallbackBodyType.Url).Build(); Assert.IsTrue(false); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("Callback argument invalid")); } }
/// <summary> /// 获得ObjectMetadata /// </summary> /// <param name="callbackUrl">回调地址</param> /// <param name="callbackBody"></param> /// <returns></returns> protected ObjectMetadata GetCallbackMetadata(string callbackUrl, string callbackBody) { string callbackHeaderBuilder = new CallbackHeaderBuilder(callbackUrl, callbackBody).Build(); string callbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder().Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); metadata.AddHeader(HttpHeaders.CallbackVar, callbackVariableHeaderBuilder); return(metadata); }
/// <summary> /// 完成回调处理 /// </summary> /// <param name="callbackUrl"></param> /// <param name="callbackBody"></param> /// <returns></returns> private ObjectMetadata BuildCallbackMetadata(string callbackUrl, string callbackBody) { string callbackHeaderBuilder = new CallbackHeaderBuilder(callbackUrl, callbackBody).Build(); string CallbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder(). AddCallbackVariable("x:var1", "x:value1").AddCallbackVariable("x:var2", "x:value2").Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); metadata.AddHeader(HttpHeaders.CallbackVar, CallbackVariableHeaderBuilder); return(metadata); }
public void PutObjectCallbackVarInvalidNegativeTest() { string callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody).Build(); try { string CallbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder(). AddCallbackVariable("x:var1", "x:value1").AddCallbackVariable("var2", "value2").Build(); Assert.IsTrue(false); } catch { Assert.IsTrue(true); } }
public void GeneratePresignedUriCallbackTestWithParameter() { string callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody).Build(); string CallbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder(). AddCallbackVariable("x:var1", "x:value1").AddCallbackVariable("x:var2", "x:value2").Build(); var gpuRequest = new GeneratePresignedUriRequest(_bucketName, _objectKey, SignHttpMethod.Put) { ContentType = "text/rtf", Expiration = DateTime.Now.AddHours(1), Callback = callbackHeaderBuilder, CallbackVar = CallbackVariableHeaderBuilder }; gpuRequest.UserMetadata.Add("Author", "Mingdi"); gpuRequest.AddQueryParam("x-param-null", ""); gpuRequest.AddQueryParam("x-param-space0", " "); gpuRequest.AddQueryParam("x-param-value", "value"); gpuRequest.AddQueryParam("x-param-space1", " "); var uri = _ossClient.GeneratePresignedUri(gpuRequest); var metadata = new ObjectMetadata(); metadata.ContentType = "text/rtf"; metadata.UserMetadata.Add("Author", "Mingdi"); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); metadata.AddHeader(HttpHeaders.CallbackVar, CallbackVariableHeaderBuilder); var putObjectResult = _ossClient.PutObject(uri, Config.UploadTestFile, metadata); Assert.IsTrue(putObjectResult.IsSetResponseStream()); Assert.AreEqual(_callbackOkResponse, GetCallbackResponse(putObjectResult)); Assert.AreEqual(putObjectResult.HttpStatusCode, HttpStatusCode.OK); Assert.AreEqual(putObjectResult.ContentLength, _callbackOkResponse.Length); Assert.AreEqual(putObjectResult.RequestId.Length, "58DB0ACB686D42D5B4163D75".Length); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ContentType], "application/json"); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ETag], putObjectResult.ETag); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.ContentMd5].Length, "7GoU4OYaYroKXsbsG1f/lw==".Length); Assert.IsTrue(putObjectResult.ResponseMetadata[HttpHeaders.HashCrc64Ecma].Length > 0); Assert.IsTrue(putObjectResult.ResponseMetadata[HttpHeaders.ServerElapsedTime].Length > 0); Assert.AreEqual(putObjectResult.ResponseMetadata[HttpHeaders.Date].Length, "Wed, 29 Mar 2017 01:15:58 GMT".Length); _ossClient.DeleteObject(_bucketName, _objectKey); }
public void PutObjectCallbackUriInvalidNegativeTest() { string callbackHeaderBuilder = new CallbackHeaderBuilder("https://wwww.aliyun.com/", _callbackBody).Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); try { _ossClient.PutObject(_bucketName, _objectKey, Config.UploadTestFile, metadata); Assert.Fail("Put object callback should be not successfully with invald callback uri"); } catch (OssException e) { Assert.AreEqual(OssErrorCode.CallbackFailed, e.ErrorCode); Assert.AreEqual("Error status : 502.", e.Message); } }
public void MultipartUploadCallbackUriInvalidNegativeTest() { // initiates a multipart upload var initRequest = new InitiateMultipartUploadRequest(_bucketName, _bigObjectKey); var initResult = _ossClient.InitiateMultipartUpload(initRequest); // set part size 1MB const int partSize = 1024 * 1024 * 1; var partFile = new FileInfo(Config.MultiUploadTestFile); // sets part count var partCount = OssTestUtils.CalculatePartCount(partFile.Length, partSize); var partETags = new List <PartETag>(); //upload the file using (var fs = new FileStream(partFile.FullName, FileMode.Open)) { for (var i = 0; i < partCount; i++) { // skip to start position of each part long skipBytes = partSize * i; fs.Position = skipBytes; // sets the part size var size = partSize < partFile.Length - skipBytes ? partSize : partFile.Length - skipBytes; // creates a UploadPartRequest, uploading parts var uploadPartRequest = new UploadPartRequest(_bucketName, _bigObjectKey, initResult.UploadId) { InputStream = fs, PartSize = size, PartNumber = (i + 1) }; var uploadPartResult = _ossClient.UploadPart(uploadPartRequest); // saves the result to the list partETags.Add(uploadPartResult.PartETag); } } var completeRequest = new CompleteMultipartUploadRequest(_bucketName, _bigObjectKey, initResult.UploadId); foreach (var partETag in partETags) { completeRequest.PartETags.Add(partETag); } string callbackHeaderBuilder = new CallbackHeaderBuilder("https://wwww.aliyun.com/", _callbackBody).Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); completeRequest.Metadata = metadata; try { _ossClient.CompleteMultipartUpload(completeRequest); Assert.Fail("Multipart upload callback should be not successfully with invald callback uri"); } catch (OssException e) { Assert.AreEqual(OssErrorCode.CallbackFailed, e.ErrorCode); Assert.AreEqual("Error status : 502.", e.Message); } finally { _ossClient.DeleteObject(_bucketName, _bigObjectKey); } }
public void MultipartUploadCallbackVarTest() { // Initiate a multipart upload var initRequest = new InitiateMultipartUploadRequest(_bucketName, _bigObjectKey); var initResult = _ossClient.InitiateMultipartUpload(initRequest); // Sets the part size as 1M const int partSize = 1024 * 1024 * 1; var partFile = new FileInfo(Config.MultiUploadTestFile); // Calculates the part count var partCount = OssTestUtils.CalculatePartCount(partFile.Length, partSize); // creates a list of PartETag var partETags = new List <PartETag>(); //upload the file using (var fs = new FileStream(partFile.FullName, FileMode.Open)) { for (var i = 0; i < partCount; i++) { // skip to the start of each part long skipBytes = partSize * i; fs.Position = skipBytes; // calculates the part size var size = partSize < partFile.Length - skipBytes ? partSize : partFile.Length - skipBytes; // uploads the part var uploadPartRequest = new UploadPartRequest(_bucketName, _bigObjectKey, initResult.UploadId) { InputStream = fs, PartSize = size, PartNumber = (i + 1) }; var uploadPartResult = _ossClient.UploadPart(uploadPartRequest); // adds the result to the list partETags.Add(uploadPartResult.PartETag); } } string callbackHeaderBuilder = new CallbackHeaderBuilder(_callbackUrl, _callbackBody).Build(); string CallbackVariableHeaderBuilder = new CallbackVariableHeaderBuilder(). AddCallbackVariable("x:var1", "x:value1").AddCallbackVariable("x:var2", "x:value2").Build(); var metadata = new ObjectMetadata(); metadata.AddHeader(HttpHeaders.Callback, callbackHeaderBuilder); metadata.AddHeader(HttpHeaders.CallbackVar, CallbackVariableHeaderBuilder); var completeRequest = new CompleteMultipartUploadRequest(_bucketName, _bigObjectKey, initResult.UploadId); completeRequest.Metadata = metadata; foreach (var partETag in partETags) { completeRequest.PartETags.Add(partETag); } var completeMultipartUploadResult = _ossClient.CompleteMultipartUpload(completeRequest); Assert.IsTrue(completeMultipartUploadResult.IsSetResponseStream()); Assert.AreEqual(_callbackOkResponse, GetCallbackResponse(completeMultipartUploadResult)); Assert.AreEqual(completeMultipartUploadResult.HttpStatusCode, HttpStatusCode.OK); Assert.AreEqual(completeMultipartUploadResult.ContentLength, _callbackOkResponse.Length); Assert.AreEqual(completeMultipartUploadResult.RequestId.Length, "58DB0ACB686D42D5B4163D75".Length); Assert.AreEqual(completeMultipartUploadResult.ResponseMetadata[HttpHeaders.ContentType], "application/json"); Assert.AreEqual(completeMultipartUploadResult.ResponseMetadata[HttpHeaders.ETag], completeMultipartUploadResult.ETag); Assert.IsFalse(completeMultipartUploadResult.ResponseMetadata.ContainsKey(HttpHeaders.ContentMd5)); Assert.IsTrue(completeMultipartUploadResult.ResponseMetadata[HttpHeaders.HashCrc64Ecma].Length > 0); Assert.IsTrue(completeMultipartUploadResult.ResponseMetadata[HttpHeaders.ServerElapsedTime].Length > 0); Assert.AreEqual(completeMultipartUploadResult.ResponseMetadata[HttpHeaders.Date].Length, "Wed, 29 Mar 2017 01:15:58 GMT".Length); //delete the object _ossClient.DeleteObject(_bucketName, _bigObjectKey); }