Exemple #1
0
 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);
            }
        }
Exemple #3
0
        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();
            }
        }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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();
        }
Exemple #7
0
        public void Setup()
        {
            cosXml = QCloudServer.Instance().cosXml;
            bucket = QCloudServer.Instance().bucketForBucketTest;
            region = QCloudServer.Instance().region;

            PutBucket();
            Thread.Sleep(100);
        }
Exemple #8
0
        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);
        }
Exemple #13
0
        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));
        }
Exemple #14
0
        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);
        }
Exemple #15
0
        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);
        }
Exemple #17
0
        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);
     }
 }
Exemple #20
0
 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();
     }
 }
Exemple #21
0
        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();
        }
Exemple #23
0
        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();
            }
        }
Exemple #28
0
        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();
            }
        }
Exemple #29
0
        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();
                }
            }
        }
Exemple #30
0
        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();
            }
        }