public void TestDescribeMediaBuckets() { try { DescribeMediaBucketsRequest request = new DescribeMediaBucketsRequest(); DescribeMediaBucketsResult result = QCloudServer.Instance().cosXml.DescribeMediaBuckets(request); Assert.AreEqual(result.httpCode, 200); Assert.NotNull(result.mediaBuckets.MediaBucketList); Assert.NotZero(result.mediaBuckets.MediaBucketList.Count); for (int i = 0; i < result.mediaBuckets.MediaBucketList.Count; i++) { Assert.NotNull(result.mediaBuckets.MediaBucketList[i].BucketId); Assert.NotNull(result.mediaBuckets.MediaBucketList[i].Region); Assert.NotNull(result.mediaBuckets.MediaBucketList[i].CreateTime); } } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void CopyObject() { try { CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid, bucket, QCloudServer.Instance().region, copykey); CopyObjectRequest request = new CopyObjectRequest(bucket, multiKey); //设置拷贝源 request.SetCopySource(copySource); //设置是否拷贝还是更新 request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.COPY); //执行请求 CopyObjectResult result = cosXml.CopyObject(request); Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.StackTrace); Assert.True(false); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public void SensitiveRecognition() { //对象键 try { string key = photoKey; SensitiveContentRecognitionRequest request = new SensitiveContentRecognitionRequest(bucket, key, "p**n,terrorist,politics"); SensitiveContentRecognitionResult result = QCloudServer.Instance().cosXml.SensitiveContentRecognition(request); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); Assert.True(result.httpCode == 200); Assert.NotNull(result.recognitionResult); Assert.NotNull(result.recognitionResult.PoliticsInfo); Assert.Zero(result.recognitionResult.PoliticsInfo.Code); Assert.NotNull(result.recognitionResult.PoliticsInfo.Score); Assert.NotNull(result.recognitionResult.PoliticsInfo.Count); Assert.NotNull(result.recognitionResult.PoliticsInfo.Msg); Assert.NotNull(result.recognitionResult.PoliticsInfo.Label); Assert.NotNull(result.recognitionResult.PoliticsInfo.HitFlag); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void GetServerTest() { try { QCloudServer instance = QCloudServer.Instance(); GetServiceRequest request = new GetServiceRequest(); GetServiceResult result = instance.cosXml.GetService(request); Assert.True(result.httpCode == 200); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); ValidateBucketList(result.listAllMyBuckets); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void Setup() { bucket = QCloudServer.Instance().bucketForObjectTest; // 本地文件名,用于暂存下载的文件,以测试上传时处理接口 localTempPhotoFilePath = TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".jpg"; localQRCodeTempPhotoFilePath = "qr_" + TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".jpg"; localSnapshotFilePath = "/tmp/snapshot.jpg"; /* * localTempPhotoFilePath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".jpg", 1); * FileInfo fileInfo = new FileInfo(localTempPhotoFilePath); * DirectoryInfo directoryInfo = fileInfo.Directory; * PutObjectRequest request = new PutObjectRequest(bucket, photoKey, fileInfo.Name); * QCloudServer.Instance().cosXml.PutObject(request); */ /* * qrPhotoKey = "qr_code_photo.jpg"; * localQRCodeTempPhotoFilePath = QCloudServer.CreateFile("qr_" + TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".jpg", 1); * fileInfo = new FileInfo(localQRCodeTempPhotoFilePath); * PutObjectRequest request = new PutObjectRequest(bucket, qrPhotoKey, fileInfo.Name); * QCloudServer.Instance().cosXml.PutObject(request); */ // 预先上传好的媒体文件,用于万象媒体接口的测试 photoKey = "CITestImage.png"; qrPhotoKey = "CITestQrImage.jpg"; videoKey = "CITestVideo.mp4"; audioKey = "CITestAudio.mp3"; textKey = "CITestText.txt"; }
public void AsyncGetBucket() { ManualResetEvent manualResetEvent = new ManualResetEvent(false); GetBucketRequest request = new GetBucketRequest(QCloudServer.Instance().bucketForObjectTest); ///执行请求 QCloudServer.Instance().cosXml.GetBucket(request, delegate(CosResult cosResult) { GetBucketResult result = cosResult as GetBucketResult; Assert.True(result.httpCode == 200); manualResetEvent.Set(); }, delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { Console.WriteLine("CosClientException: " + clientEx.Message); } if (serverEx != null) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } Assert.Fail(); manualResetEvent.Set(); } ); manualResetEvent.WaitOne(); }
public void Setup() { cosXml = QCloudServer.Instance().cosXml; bucket = QCloudServer.Instance().bucketForBucketTest; region = QCloudServer.Instance().region; PutBucket(); Thread.Sleep(100); }
public void PutObjectWithDeSample() { string key = "original_photo.jpg"; string srcPath = localTempPhotoFilePath; PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); JObject o = new JObject(); // 返回原图 o["is_pic_info"] = 1; JArray rules = new JArray(); JObject rule = new JObject(); rule["bucket"] = bucket; rule["fileid"] = "desample_photo.jpg"; //处理参数,规则参见:https://cloud.tencent.com/document/product/460/19017 rule["rule"] = "imageMogr2/thumbnail/400x"; rules.Add(rule); o["rules"] = rules; string ruleString = o.ToString(Formatting.None); request.SetRequestHeader("Pic-Operations", ruleString); //执行请求 PutObjectResult result = QCloudServer.Instance().cosXml.PutObject(request); var uploadResult = result.uploadResult; // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); Assert.True(result.IsSuccessful()); Assert.NotNull(uploadResult); Assert.NotNull(uploadResult.originalInfo); Assert.NotNull(uploadResult.originalInfo.ETag); Assert.NotNull(uploadResult.originalInfo.Key); Assert.NotNull(uploadResult.originalInfo.Location); Assert.NotNull(uploadResult.originalInfo.imageInfo.Ave); Assert.NotNull(uploadResult.originalInfo.imageInfo.Format); Assert.NotNull(uploadResult.originalInfo.imageInfo.Orientation); Assert.NotZero(uploadResult.originalInfo.imageInfo.Width); Assert.NotZero(uploadResult.originalInfo.imageInfo.Height); Assert.NotZero(uploadResult.originalInfo.imageInfo.Quality); Assert.NotNull(uploadResult.processResults); Assert.NotZero(uploadResult.processResults.results.Count); Assert.True(uploadResult.processResults.results[0].Width <= 400); Assert.True(uploadResult.processResults.results[0].Height <= 400); Assert.NotNull(uploadResult.processResults.results[0].ETag); Assert.NotNull(uploadResult.processResults.results[0].Format); Assert.NotNull(uploadResult.processResults.results[0].Key); Assert.NotNull(uploadResult.processResults.results[0].Location); Assert.NotZero(uploadResult.processResults.results[0].Quality); Assert.NotZero(uploadResult.processResults.results[0].Size); Assert.Zero(uploadResult.processResults.results[0].WatermarkStatus); }
public void PartCopyObject() { string key = commonKey; CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid, bucket, QCloudServer.Instance().region, copykey); try { InitMultipartUploadRequest initMultipartUploadRequest = new InitMultipartUploadRequest(bucket, key); //执行请求 InitMultipartUploadResult initMultipartUploadResult = cosXml.InitMultipartUpload(initMultipartUploadRequest); Console.WriteLine(initMultipartUploadResult.GetResultInfo()); string uploadId = initMultipartUploadResult.initMultipartUpload.uploadId; int partNumber = 1; UploadPartCopyRequest uploadPartCopyRequest = new UploadPartCopyRequest(bucket, key, partNumber, uploadId); //设置拷贝源 uploadPartCopyRequest.SetCopySource(copySource); //设置拷贝范围 uploadPartCopyRequest.SetCopyRange(0, 10); //执行请求 UploadPartCopyResult uploadPartCopyResult = cosXml.PartCopy(uploadPartCopyRequest); Console.WriteLine(uploadPartCopyResult.GetResultInfo()); string eTag = uploadPartCopyResult.copyObject.eTag; CompleteMultipartUploadRequest completeMultiUploadRequest = new CompleteMultipartUploadRequest(bucket, key, uploadId); //设置已上传的parts completeMultiUploadRequest.SetPartNumberAndETag(partNumber, eTag); //执行请求 CompleteMultipartUploadResult completeMultiUploadResult = cosXml.CompleteMultiUpload(completeMultiUploadRequest); Console.WriteLine(completeMultiUploadResult.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.True(false); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public void TestSetSign() { GetBucketRequest request = new GetBucketRequest(QCloudServer.Instance().bucketForObjectTest); request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.Seconds), 600); ///执行请求 GetBucketResult result = QCloudServer.Instance().cosXml.GetBucket(request); Assert.AreEqual(result.httpCode, 200); }
public void SyncGetServerTest() { QCloudServer instance = QCloudServer.Instance(); GetServiceRequest request = new GetServiceRequest(); GetServiceResult result = instance.cosXml.Execute <GetServiceResult>(request); Assert.True(result.httpCode == 200); Assert.IsNotEmpty((result.GetResultInfo())); ValidateBucketList(result.listAllMyBuckets); }
public async Task AsyncGetServerTest() { QCloudServer instance = QCloudServer.Instance(); GetServiceRequest request = new GetServiceRequest(); GetServiceResult result = await instance.cosXml.ExecuteAsync <GetServiceResult>(request); Assert.True(result.httpCode == 200); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); ValidateBucketList(result.listAllMyBuckets); }
public void TestCopySourceNotExisted() { COSXMLCopyTask copyTask = new COSXMLCopyTask(notExistBucket, "remote_key", null); Assert.ThrowsAsync <CosClientException>(async() => await transferManager.CopyAsync(copyTask)); CopySourceStruct notExistSource = new CopySourceStruct(QCloudServer.Instance().appid, notExistBucket, QCloudServer.Instance().region, "example_key"); COSXMLCopyTask copyTask2 = new COSXMLCopyTask(notExistBucket, "remote_key", notExistSource); Assert.ThrowsAsync <CosServerException>(async() => await transferManager.CopyAsync(copyTask2)); }
public void Setup() { notExistBucket = "not-exist-bucket-suwjsdjwujehdfkd-" + QCloudServer.Instance().appid; cosXml = QCloudServer.Instance().cosXml; var config = new TransferConfig(); config.DivisionForUpload = 1 * 1024 * 1024; config.DdivisionForCopy = 1 * 1024 * 1024; config.SliceSizeForCopy = 1 * 1024 * 1024; config.SliceSizeForUpload = 1 * 1024 * 1024; transferManager = new TransferManager(cosXml, config); localFilePath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".txt", 1024 * 1024 * 1); }
public void Setup() { bucket = QCloudServer.Instance().bucketForObjectTest; photoKey = "example_photo.jpg"; localTempPhotoFilePath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".jpg", 1); FileInfo fileInfo = new FileInfo(localTempPhotoFilePath); DirectoryInfo directoryInfo = fileInfo.Directory; GetObjectRequest request = new GetObjectRequest(bucket, photoKey, directoryInfo.FullName, fileInfo.Name); QCloudServer.Instance().cosXml.GetObject(request); }
public void generateSignUrl() { QCloudServer instance = QCloudServer.Instance(); string key = commonKey; PreSignatureStruct signatureStruct = new PreSignatureStruct(); signatureStruct.bucket = instance.bucketForObjectTest; signatureStruct.appid = instance.appid; signatureStruct.region = instance.region; signatureStruct.key = key; signatureStruct.httpMethod = "GET"; signatureStruct.headers = new Dictionary <string, string>(); string url = instance.cosXml.GenerateSignURL(signatureStruct); Console.WriteLine(url); Assert.NotNull(url); }
public void TestBucketLogging() { try { PutBucketLoggingRequest request = new PutBucketLoggingRequest(bucket); request.SetTarget(QCloudServer.Instance().bucketForLoggingTarget, "/"); PutBucketLoggingResult putResult = cosXml.PutBucketLogging(request); Assert.IsTrue(putResult.httpCode == 200); GetBucketLoggingResult getResult = cosXml.GetBucketLogging(new GetBucketLoggingRequest(bucket)); Assert.AreEqual(getResult.httpCode, 200); // Console.WriteLine(getResult.GetResultInfo()); Assert.IsNotEmpty((getResult.GetResultInfo())); Assert.IsNotEmpty(getResult.RawContentBodyString); BucketLoggingStatus status = getResult.bucketLoggingStatus; Assert.NotNull(status); Assert.NotNull(status.loggingEnabled); Assert.NotNull(status.GetInfo()); string targetBucket = status.loggingEnabled.targetBucket; string targetPrefix = status.loggingEnabled.targetPrefix; Assert.NotNull(targetBucket); Assert.NotNull(targetPrefix); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); if (serverEx.statusCode != 409 && serverEx.statusCode != 451) { Assert.Fail(); } } }
public void init() { cosXml = QCloudServer.Instance().cosXml; bucket = QCloudServer.Instance().bucketForObjectTest; transferManager = new TransferManager(cosXml, new TransferConfig()); smallFileSrcPath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.SECONDS) + ".txt", 1024 * 1024 * 1); bigFileSrcPath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.SECONDS) + ".txt", 1024 * 1024 * 10); FileInfo fileInfo = new FileInfo(smallFileSrcPath); DirectoryInfo directoryInfo = fileInfo.Directory; localDir = directoryInfo.FullName; localFileName = "local.txt"; commonKey = "simpleObject" + TimeUtils.GetCurrentTime(TimeUnit.SECONDS); multiKey = "bigObject" + TimeUtils.GetCurrentTime(TimeUnit.SECONDS); copykey = commonKey; imageKey = commonKey; PutObject(); }
public void GetServerTest() { try { QCloudServer instance = QCloudServer.Instance(); GetServiceRequest request = new GetServiceRequest(); GetServiceResult result = instance.cosXml.GetService(request); Console.WriteLine(result.GetResultInfo()); Assert.True(true); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.True(false); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public void TestGetSnapshot() { try { string key = videoKey; GetSnapshotRequest request = new GetSnapshotRequest(bucket, key, 1.5F, localSnapshotFilePath); GetSnapshotResult result = QCloudServer.Instance().cosXml.GetSnapshot(request); Assert.True(File.Exists(localSnapshotFilePath)); Assert.AreEqual(result.httpCode, 200); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
private void PutBucketReplication() { try { PutBucketReplicationRequest request = new PutBucketReplicationRequest(bucket); //设置replication PutBucketReplicationRequest.RuleStruct ruleStruct = new PutBucketReplicationRequest.RuleStruct(); ruleStruct.appid = QCloudServer.Instance().appid; ruleStruct.bucket = QCloudServer.Instance().bucketVersioning; ruleStruct.region = QCloudServer.Instance().regionForBucketVersioning; ruleStruct.isEnable = true; ruleStruct.storageClass = "STANDARD"; ruleStruct.id = "replication1"; ruleStruct.prefix = "dir/"; request.SetReplicationConfiguration("2832742109", "2832742109", new List <PutBucketReplicationRequest.RuleStruct>() { ruleStruct }); //执行请求 PutBucketReplicationResult result = cosXml.PutBucketReplication(request); Assert.AreEqual(result.httpCode, 200); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void testCopyTask() { CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid, bucket, QCloudServer.Instance().region, copykey); COSXMLCopyTask copyTask = new COSXMLCopyTask(bucket, multiKey, copySource); var autoEvent = new AutoResetEvent(false); copyTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; copyTask.successCallback = delegate(CosResult cosResult) { COSXML.Transfer.COSXMLCopyTask.CopyTaskResult result = cosResult as COSXML.Transfer.COSXMLCopyTask.CopyTaskResult; Console.WriteLine(result.GetResultInfo()); autoEvent.Set(); Assert.True(cosResult.httpCode == 200); }; copyTask.failCallback = delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { Console.WriteLine("CosClientException: " + clientEx); } if (serverEx != null) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } autoEvent.Set(); Assert.True(false); }; transferManager.Copy(copyTask); autoEvent.WaitOne(); }
public void SensitiveRecognition() { //对象键 //对象键 string key = photoKey; SensitiveContentRecognitionRequest request = new SensitiveContentRecognitionRequest(bucket, key, "politics"); SensitiveContentRecognitionResult result = QCloudServer.Instance().cosXml.SensitiveContentRecognition(request); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); Assert.True(result.httpCode == 200); Assert.NotNull(result.recognitionResult); Assert.NotNull(result.recognitionResult.PoliticsInfo); Assert.Zero(result.recognitionResult.PoliticsInfo.Code); Assert.NotNull(result.recognitionResult.PoliticsInfo.Score); Assert.NotNull(result.recognitionResult.PoliticsInfo.Count); Assert.NotNull(result.recognitionResult.PoliticsInfo.Msg); Assert.NotNull(result.recognitionResult.PoliticsInfo.Label); Assert.NotNull(result.recognitionResult.PoliticsInfo.HitFlag); }
public void testRestoreHistoryObject() { try { RestoreObjectRequest request = new RestoreObjectRequest("000000000001", "2020-01-17.21-35-01.log"); request.SetExpireDays(2); request.SetTier(RestoreConfigure.Tier.Standard); request.SetVersionId("MTg0NDUxNjQ1ODU5NjY2NDYyOTM"); RestoreObjectResult result = QCloudServer.Instance().cosXml.RestoreObject(request); Console.WriteLine(result.GetResultInfo()); Assert.True(true); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx); Assert.True(false); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(serverEx.statusCode == 404); } }
public void AsyncGetServerTest() { bool isSuccess = false; ManualResetEvent manualResetEvent = new ManualResetEvent(false); QCloudServer instance = QCloudServer.Instance(); GetServiceRequest request = new GetServiceRequest(); instance.cosXml.GetService(request, delegate(COSXML.Model.CosResult cosResult) { GetServiceResult result = cosResult as GetServiceResult; Console.WriteLine(result.GetResultInfo()); isSuccess = true; manualResetEvent.Set(); }, delegate(COSXML.CosException.CosClientException clientEx, COSXML.CosException.CosServerException serverEx) { Console.WriteLine(clientEx == null ? serverEx.GetInfo() : clientEx.Message); isSuccess = false; manualResetEvent.Set(); }); manualResetEvent.WaitOne(); Assert.True(isSuccess); }
public void ListBucketVersions() { try { var service = QCloudServer.Instance().NewService(QCloudServer.Instance().regionForBucketVersioning); ListBucketVersionsRequest request = new ListBucketVersionsRequest(QCloudServer.Instance().bucketVersioning); request.SetDelimiter("/"); request.SetEncodingType("url"); request.SetMaxKeys("500"); //执行请求 ListBucketVersionsResult result = service.ListBucketVersions(request); Assert.True(result.httpCode == 200); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); var listObjects = result.listBucketVersions; Assert.NotNull(listObjects.delimiter); Assert.NotNull(listObjects.encodingType); Assert.NotNull(listObjects.name); Assert.NotZero(listObjects.maxKeys); Assert.IsFalse(listObjects.isTruncated); Assert.That(listObjects.prefix, Is.Null.Or.Empty); Assert.That(listObjects.keyMarker, Is.Null.Or.Empty); Assert.That(listObjects.versionIdMarker, Is.Null.Or.Empty); Assert.That(listObjects.nextVersionIdMarker, Is.Null.Or.Empty); Assert.That(listObjects.nextKeyMarker, Is.Null.Or.Empty); Assert.NotZero(listObjects.commonPrefixesList.Count); foreach (var commonPrefix in listObjects.commonPrefixesList) { Assert.NotNull(commonPrefix.prefix); } Assert.NotZero(listObjects.objectVersionList.Count); foreach (var content in listObjects.objectVersionList) { Assert.NotNull(content.eTag); Assert.NotNull(content.owner); Assert.NotNull(content.owner.uid); Assert.NotNull(content.owner.displayName); Assert.NotNull(content.key); Assert.NotNull(content.lastModified); Assert.NotNull(content.size); Assert.NotNull(content.storageClass); Assert.NotNull(content.versionId); Assert.NotNull(content.isLatest); } Assert.NotZero(listObjects.deleteMarkers.Count); foreach (var content in listObjects.deleteMarkers) { Assert.NotNull(content.owner); Assert.NotNull(content.owner.uid); Assert.NotNull(content.owner.displayName); Assert.NotNull(content.key); Assert.NotNull(content.lastModified); Assert.NotNull(content.versionId); Assert.NotNull(content.isLatest); } } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void GetBucket() { try { GetBucketRequest request = new GetBucketRequest(QCloudServer.Instance().bucketForObjectTest); request.SetDelimiter("/"); request.SetEncodingType("url"); request.SetMaxKeys("1000"); List <string> headerKeys = new List <string>(); headerKeys.Add("Host"); List <string> queryParameters = new List <string>(); queryParameters.Add("prefix"); queryParameters.Add("max-keys"); //执行请求 GetBucketResult result = QCloudServer.Instance().cosXml.GetBucket(request); Assert.True(result.httpCode == 200); // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); var listObjects = result.listBucket; Assert.NotNull(listObjects.delimiter); Assert.NotNull(listObjects.encodingType); Assert.NotNull(listObjects.name); Assert.NotZero(listObjects.maxKeys); Assert.IsFalse(listObjects.isTruncated); Assert.That(listObjects.prefix, Is.Null.Or.Empty); Assert.That(listObjects.marker, Is.Null.Or.Empty); Assert.That(listObjects.nextMarker, Is.Null.Or.Empty); Assert.NotZero(listObjects.commonPrefixesList.Count); foreach (var commonPrefix in listObjects.commonPrefixesList) { Assert.NotNull(commonPrefix.prefix); } Assert.NotZero(listObjects.contentsList.Count); foreach (var content in listObjects.contentsList) { Assert.NotNull(content.eTag); Assert.NotNull(content.owner); Assert.NotNull(content.owner.id); Assert.NotNull(content.key); Assert.NotNull(content.lastModified); Assert.NotNull(content.size); Assert.NotNull(content.storageClass); } } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void TestDocumentCensorJobCommit() { try { SubmitDocumentCensorJobRequest request = new SubmitDocumentCensorJobRequest(bucket); request.SetUrl("https://calibre-ebook.com/downloads/demos/demo.docx"); request.SetDetectType("P**n,Terrorism"); SubmitCensorJobResult result = QCloudServer.Instance().cosXml.SubmitDocumentCensorJob(request); string id = result.censorJobsResponse.JobsDetail.JobId; Assert.NotNull(id); Assert.AreEqual(200, result.httpCode); // 等待审核任务跑完 Thread.Sleep(50000); GetDocumentCensorJobRequest getRequest = new GetDocumentCensorJobRequest(bucket, id); GetDocumentCensorJobResult getResult = QCloudServer.Instance().cosXml.GetDocumentCensorJob(getRequest); Assert.AreEqual(200, getResult.httpCode); // 参数检查 Assert.NotNull(getResult.resultStruct.JobsDetail.State); Assert.NotNull(getResult.resultStruct.JobsDetail.JobId); //Assert.NotNull(getResult.resultStruct.JobsDetail.Code); //Assert.NotNull(getResult.resultStruct.JobsDetail.Message); Assert.NotNull(getResult.resultStruct.JobsDetail.Suggestion); Assert.NotNull(getResult.resultStruct.JobsDetail.CreationTime); Assert.NotNull(getResult.resultStruct.JobsDetail.Url); Assert.NotNull(getResult.resultStruct.JobsDetail.PageCount); Assert.NotNull(getResult.resultStruct.JobsDetail.Labels); Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PornInfo); Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PornInfo.HitFlag); Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PornInfo.Score); /* * Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PoliticsInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PoliticsInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.Labels.PoliticsInfo.Score); */ Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.Url); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.Text); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PageNumber); //Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.SheetNumber); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.HitFlag); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.SubLabel); Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.Score); //Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.OcrResults); //Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.OcrResults.Text); //Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PornInfo.OcrResults.Keywords); /* * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.SubLabel); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.Score); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.OcrResults); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.OcrResults.Text); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.OcrResults.Keywords); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.ObjectResults); * Assert.NotNull(getResult.resultStruct.JobsDetail.PageSegment.Results.PoliticsInfo.ObjectResults.Name); */ } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }
public void TestBucketInventory() { try { string inventoryId = "id1"; PutBucketInventoryRequest putRequest = new PutBucketInventoryRequest(bucket, inventoryId); putRequest.IsEnable(true); putRequest.SetScheduleFrequency("Daily"); putRequest.SetIncludedObjectVersions("All"); putRequest.SetDestination("CSV", QCloudServer.Instance().uin, QCloudServer.Instance().bucketForObjectTest, region, "list1"); putRequest.SetFilter("dir/"); putRequest.SetOptionalFields("SIZE"); putRequest.SetOptionalFields("ETag"); putRequest.EnableSSE(); PutBucketInventoryResult putResult = cosXml.PutBucketInventory(putRequest); Assert.IsTrue(putResult.httpCode == 200); GetBucketInventoryRequest getRequest = new GetBucketInventoryRequest(bucket); getRequest.SetInventoryId(inventoryId); GetBucketInventoryResult getResult = cosXml.GetBucketInventory(getRequest); InventoryConfiguration testConfig = getResult.inventoryConfiguration; // Console.WriteLine(getResult.GetResultInfo()); Assert.IsNotEmpty((getResult.GetResultInfo())); ListBucketInventoryRequest listRequest = new ListBucketInventoryRequest(bucket); ListBucketInventoryResult listResult = cosXml.ListBucketInventory(listRequest); Assert.IsTrue(listResult.httpCode == 200); Assert.NotNull(listResult.GetResultInfo()); Assert.IsEmpty(listResult.listInventoryConfiguration.continuationToken); Assert.False(listResult.listInventoryConfiguration.isTruncated); Assert.AreEqual(listResult.listInventoryConfiguration.inventoryConfigurations.Count, 1); InventoryConfiguration testConfig2 = listResult.listInventoryConfiguration.inventoryConfigurations[0]; InventoryConfiguration[] configurations = new InventoryConfiguration[] { testConfig, testConfig2 }; foreach (InventoryConfiguration configuration in configurations) { Assert.NotNull(configuration); Assert.NotNull(configuration.destination.cosBucketDestination.accountId); Assert.NotNull(configuration.destination.cosBucketDestination.bucket); Assert.NotNull(configuration.destination.cosBucketDestination.encryption.sSECOS); Assert.NotNull(configuration.destination.cosBucketDestination.format); Assert.NotNull(configuration.destination.cosBucketDestination.prefix); Assert.True(configuration.isEnabled); Assert.NotNull(configuration.schedule.frequency); Assert.NotNull(configuration.includedObjectVersions); Assert.NotNull(configuration.filter.prefix); Assert.AreEqual(configuration.optionalFields.fields.Count, 2); } DeleteBucketInventoryRequest deleteRequest = new DeleteBucketInventoryRequest(bucket); deleteRequest.SetInventoryId(inventoryId); DeleteBucketInventoryResult deleteResult = cosXml.DeleteBucketInventory(deleteRequest); Assert.IsTrue(putResult.httpCode == 200); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); if (serverEx.statusCode != 409 && serverEx.statusCode != 451) { Assert.Fail(); } } }
public void TestTextCensorJobCommit() { try { SubmitTextCensorJobRequest request = new SubmitTextCensorJobRequest(bucket); request.SetCensorObject(textKey); request.SetDetectType("P**n,Terrorism"); SubmitCensorJobResult result = QCloudServer.Instance().cosXml.SubmitTextCensorJob(request); string id = result.censorJobsResponse.JobsDetail.JobId; Assert.NotNull(id); Assert.AreEqual(200, result.httpCode); // 等待审核任务跑完 Thread.Sleep(30000); GetTextCensorJobRequest getRequest = new GetTextCensorJobRequest(bucket, id); GetTextCensorJobResult getResult = QCloudServer.Instance().cosXml.GetTextCensorJob(getRequest); Assert.AreEqual(200, getResult.httpCode); // 只有失败时返回 //Assert.NotNull(getResult.resultStruct.JobsDetail.Code); //Assert.NotNull(getResult.resultStruct.JobsDetail.Message); Assert.NotNull(getResult.resultStruct.JobsDetail.JobId); Assert.NotNull(getResult.resultStruct.JobsDetail.State); Assert.NotNull(getResult.resultStruct.JobsDetail.CreationTime); Assert.NotNull(getResult.resultStruct.JobsDetail.Object); Assert.NotNull(getResult.resultStruct.JobsDetail.SectionCount); Assert.NotNull(getResult.resultStruct.JobsDetail.Result); Assert.NotNull(getResult.resultStruct.JobsDetail.PornInfo); Assert.NotNull(getResult.resultStruct.JobsDetail.PornInfo.HitFlag); Assert.NotNull(getResult.resultStruct.JobsDetail.PornInfo.Count); Assert.NotNull(getResult.resultStruct.JobsDetail.TerrorismInfo); Assert.NotNull(getResult.resultStruct.JobsDetail.TerrorismInfo.HitFlag); Assert.NotNull(getResult.resultStruct.JobsDetail.TerrorismInfo.Count); /* * Assert.NotNull(getResult.resultStruct.JobsDetail.PoliticsInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.PoliticsInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.PoliticsInfo.Count); */ /* * Assert.NotNull(getResult.resultStruct.JobsDetail.AdsInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.AdsInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.AdsInfo.Count); */ /* * Assert.NotNull(getResult.resultStruct.JobsDetail.IllegalInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.IllegalInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.IllegalInfo.Count); * Assert.NotNull(getResult.resultStruct.JobsDetail.AbuseInfo); * Assert.NotNull(getResult.resultStruct.JobsDetail.AbuseInfo.HitFlag); * Assert.NotNull(getResult.resultStruct.JobsDetail.AbuseInfo.Count); */ Assert.NotNull(getResult.resultStruct.JobsDetail.Section); Assert.NotNull(getResult.resultStruct.JobsDetail.Section.Count); for (int i = 0; i < getResult.resultStruct.JobsDetail.Section.Count; i++) { Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].StartByte); Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PornInfo); //Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PornInfo.Code); Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PornInfo.HitFlag); Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PornInfo.Score); Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PornInfo.Keywords); Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].TerrorismInfo); //Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].PoliticsInfo); //Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].AdsInfo); //Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].IllegalInfo); //Assert.NotNull(getResult.resultStruct.JobsDetail.Section[i].AbuseInfo); } } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.Fail(); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.Fail(); } }