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); }
/// <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 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); }