Exemplo n.º 1
0
 public void TearDown()
 {
     S3TestUtils.CleanBucket(Client, BucketName);
     MissingAPILambdaFunctions.DeleteBucket(BucketName, TestRunner.RegionEndpoint);
     S3TestUtils.CleanBucket(Client, VersionedBucketName);
     MissingAPILambdaFunctions.DeleteBucket(VersionedBucketName, TestRunner.RegionEndpoint);
 }
Exemplo n.º 2
0
 public void SetUp()
 {
     BucketName          = "unity-test-bucket" + DateTime.Now.Ticks;
     VersionedBucketName = "unity-test-bucket-versioned" + DateTime.Now.Ticks;
     MissingAPILambdaFunctions.CreateBucket(BucketName, TestRunner.RegionEndpoint);
     MissingAPILambdaFunctions.CreateBucket(VersionedBucketName, TestRunner.RegionEndpoint);
     MissingAPILambdaFunctions.EnableBucketVersioning(VersionedBucketName, TestRunner.RegionEndpoint);
 }
Exemplo n.º 3
0
        public void OneTimeTearDown()
        {
            Exception      responseException = new Exception();
            AutoResetEvent ars = new AutoResetEvent(false);

            // Delete Delivery Stream
            Client.DeleteDeliveryStreamAsync(DeliveryStreamName, (response) =>
            {
                responseException = response.Exception;
                ars.Set();
            }, new AsyncOptions {
                ExecuteCallbackOnMainThread = false
            });
            ars.WaitOne();
            Utils.AssertExceptionIsNull(responseException);

            // Delete Role Policy
            iamClient.DeleteRolePolicyAsync(new Amazon.IdentityManagement.Model.DeleteRolePolicyRequest()
            {
                RoleName   = RoleName,
                PolicyName = PolicyName
            }, (response) =>
            {
                responseException = response.Exception;
                ars.Set();
            }, new AsyncOptions {
                ExecuteCallbackOnMainThread = false
            });
            ars.WaitOne();
            Utils.AssertExceptionIsNull(responseException);

            // Delete Role
            iamClient.DeleteRoleAsync(new Amazon.IdentityManagement.Model.DeleteRoleRequest()
            {
                RoleName = RoleName
            }, (response) =>
            {
                responseException = response.Exception;
                ars.Set();
            }, new AsyncOptions {
                ExecuteCallbackOnMainThread = false
            });
            ars.WaitOne();
            Utils.AssertExceptionIsNull(responseException);

            // Delete Bucket
            S3.S3TestUtils.CleanBucket(TestBase.CreateClient <Amazon.S3.AmazonS3Client, Amazon.S3.AmazonS3Config>(), BucketName);
            MissingAPILambdaFunctions.DeleteBucket(BucketName, TestRunner.RegionEndpoint);
        }
Exemplo n.º 4
0
 public void TearDown()
 {
     MissingAPILambdaFunctions.DeleteBucket(BucketName, TestRunner.RegionEndpoint);
 }
Exemplo n.º 5
0
 public void SetUp()
 {
     BucketName = "unity-test-bucket" + DateTime.Now.Ticks;
     MissingAPILambdaFunctions.CreateBucket(BucketName, TestRunner.RegionEndpoint);
 }
Exemplo n.º 6
0
        public void OneTimeSetUp()
        {
            // Create S3 Bucket
            BucketName = "unity-test-bucket-firehose" + DateTime.Now.Ticks;
            MissingAPILambdaFunctions.CreateBucket(BucketName, TestRunner.RegionEndpoint);

            Exception responseException = new Exception();
            AutoResetEvent ars = new AutoResetEvent(false);

            // Create IAM Role
            RoleName = "UnityFirehoseTestRole" + DateTime.Now.Ticks;
            Utils.AssertFalse(string.IsNullOrEmpty(TestRunner.TestAccountId), "Kinesis Firehose tests require Account ID (set in 'Resources/settings.txt') in order to create an AssumeRolePolicy.");
            string roleArn = UtilityMethods.CreateRoleIfNotExists(iamClient, RoleName, string.Format(UtilityMethods.FirehoseAssumeRolePolicyDocumentFormat, TestRunner.TestAccountId));
            Assert.IsNotNull(roleArn);

            // Attach Policy to Role
            PolicyName = "UnityFirehoseTestRolePolicy" + DateTime.Now.Ticks;
            iamClient.PutRolePolicyAsync(new Amazon.IdentityManagement.Model.PutRolePolicyRequest()
            {
                PolicyDocument = string.Format(RolePolicyDocumentFormat, BucketName),
                PolicyName = PolicyName,
                RoleName = RoleName
            }, (response) =>
            {
                responseException = response.Exception;
                ars.Set();
            }, new AsyncOptions { ExecuteCallbackOnMainThread = false });
            ars.WaitOne();
            Utils.AssertExceptionIsNull(responseException);

            // Create Firehose Delivery Stream
            string bucketArn = "arn:aws:s3:::" + BucketName;
            DeliveryStreamName = "unity-test-delivery-stream" + DateTime.Now.Ticks;
            string deliveryStreamArn = null;
            Client.CreateDeliveryStreamAsync(new CreateDeliveryStreamRequest()
            {
                DeliveryStreamName = DeliveryStreamName,
                S3DestinationConfiguration = new S3DestinationConfiguration()
                {
                    BucketARN = bucketArn,
                    RoleARN = roleArn
                }
            }, (response) =>
            {
                responseException = response.Exception;
                if (responseException == null)
                {
                    deliveryStreamArn = response.Response.DeliveryStreamARN;
                }
                ars.Set();
            }, new AsyncOptions { ExecuteCallbackOnMainThread = false });
            ars.WaitOne();
            Utils.AssertExceptionIsNull(responseException);
            Utils.AssertStringIsNotNullOrEmpty(deliveryStreamArn);

            // Wait for Delivery Stream to be active
            DeliveryStreamStatus streamStatus = DeliveryStreamStatus.CREATING;
            var timeout = DateTime.Now.AddSeconds(120);
            while (streamStatus != DeliveryStreamStatus.ACTIVE && DateTime.Now.Ticks < timeout.Ticks)
            {
                Client.DescribeDeliveryStreamAsync(new DescribeDeliveryStreamRequest()
                {
                    DeliveryStreamName = DeliveryStreamName
                }, (response) =>
                {
                    responseException = response.Exception;
                    if (responseException == null)
                    {
                        streamStatus = response.Response.DeliveryStreamDescription.DeliveryStreamStatus;
                    }
                    ars.Set();
                }, new AsyncOptions { ExecuteCallbackOnMainThread = false });
                ars.WaitOne();
                Utils.AssertExceptionIsNull(responseException);
                Utils.AssertFalse(streamStatus == DeliveryStreamStatus.DELETING, "Delivery stream entered DELETING state unexpectedly.");
                Thread.Sleep(TimeSpan.FromSeconds(2));
            }
            Utils.AssertFalse(streamStatus == DeliveryStreamStatus.CREATING, "Did not exit CREATING state within time limit.");
        }