示例#1
0
        // Test exception parsing with selected services
        public void TestExceptions()
        {
            var fakeData = "obviously-super-duper-fake-data";

            using (var client = new Amazon.Lightsail.AmazonLightsailClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.Lightsail.Model.NotFoundException>(() =>
                {
                    client.GetInstance(new Amazon.Lightsail.Model.GetInstanceRequest
                    {
                        InstanceName = fakeData
                    });
                });
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var client = new Amazon.ElasticTranscoder.AmazonElasticTranscoderClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.ElasticTranscoder.Model.ValidationException>(() =>
                {
                    client.DeletePipeline(new Amazon.ElasticTranscoder.Model.DeletePipelineRequest
                    {
                        Id = fakeData
                    });
                });
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var ddb = new Amazon.DynamoDBv2.AmazonDynamoDBClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.DynamoDBv2.Model.ResourceNotFoundException>(() => ddb.DescribeTable("fakey-mcfake-table"));
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var client = new Amazon.Pinpoint.AmazonPinpointClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.Pinpoint.Model.NotFoundException>(() =>
                {
                    client.DeleteCampaign(new Amazon.Pinpoint.Model.DeleteCampaignRequest
                    {
                        ApplicationId = fakeData,
                        CampaignId    = fakeData
                    });
                });
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var client = new Amazon.Batch.AmazonBatchClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.Batch.Model.ClientException>(() =>
                {
                    client.UpdateComputeEnvironment(new Amazon.Batch.Model.UpdateComputeEnvironmentRequest
                    {
                        ComputeEnvironment = fakeData
                    });
                });
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var client = new Amazon.Glacier.AmazonGlacierClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.Glacier.Model.ResourceNotFoundException>(() =>
                {
                    client.InitiateMultipartUpload(new Amazon.Glacier.Model.InitiateMultipartUploadRequest
                    {
                        AccountId          = "-",
                        ArchiveDescription = fakeData,
                        VaultName          = fakeData,
                        PartSize           = 123
                    });
                });
                Assert.AreEqual(ErrorType.Unknown, ex.ErrorType);
            }

            using (var client = new Amazon.IdentityManagement.AmazonIdentityManagementServiceClient())
            {
                var ex = AssertExtensions.ExpectException <Amazon.IdentityManagement.Model.NoSuchEntityException>(() =>
                {
                    client.AttachGroupPolicy(new Amazon.IdentityManagement.Model.AttachGroupPolicyRequest
                    {
                        PolicyArn = fakeData,
                        GroupName = fakeData
                    });
                });
                Assert.AreEqual(ErrorType.Sender, ex.ErrorType);
            }
        }
示例#2
0
 /// <summary>
 /// Initializes a new stream instance
 /// </summary>
 /// <param name="glacier">
 /// The Glacier client interface
 /// </param>
 /// <param name="vault">
 /// The current Glacier vault name
 /// </param>
 /// <param name="jobID">
 /// The retrieval job identifier
 /// </param>
 /// <param name="length">
 /// The size of the retrieval job, in bytes
 /// </param>
 public GlacierStream(
     Amazon.Glacier.AmazonGlacierClient glacier,
     String vault,
     String jobID,
     Int64 length)
 {
     this.glacier = glacier;
      this.vault = vault;
      this.jobID = jobID;
      this.stream = null;
      this.offset = 0;
      this.length = length;
      this.seekBuffer = new Byte[65536];
 }
示例#3
0
 /// <summary>
 /// Initializes a new archive instance
 /// </summary>
 /// <param name="s3">
 /// The connected AWS S3 client
 /// </param>
 /// <param name="glacier">
 /// The connected AWS Glacier client
 /// </param>
 /// <param name="vault">
 /// The name of the Glacier vault for the archive
 /// </param>
 /// <param name="bucket">
 /// The name of the S3 bucket containing the backup index
 /// </param>
 /// <param name="name">
 /// The name of the archive
 /// </param>
 public GlacierArchive(
     Amazon.S3.AmazonS3 s3,
     Amazon.Glacier.AmazonGlacierClient glacier,
     String vault,
     String bucket,
     String name)
 {
     this.s3 = s3;
      this.glacier = glacier;
      this.vault = vault;
      this.bucket = bucket;
      this.name = name;
      // connect to the restore index
      var restoreIndexPath = new IO.Path(
     Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
     "SkyFloe",
     "AwsGlacier",
     name,
     "restore.db"
      );
      IO.FileSystem.CreateDirectory(restoreIndexPath.Parent);
      this.restoreIndex = (IO.FileSystem.GetMetadata(restoreIndexPath).Exists) ?
     Sqlite.RestoreIndex.Open(restoreIndexPath) :
     Sqlite.RestoreIndex.Create(restoreIndexPath, new Restore.Header());
      this.copier = new IO.StreamCopier();
 }