Пример #1
0
        public void parsing_max_receive_message_batch_size_works()
        {
            var result = SqsConnectionStringParser.Parse(
                "Region=ap-southeast-2;MaxReceiveMessageBatchSize=1");

            Assert.AreEqual(1, result.MaxReceiveMessageBatchSize);
        }
Пример #2
0
        public void parsing_max_ttl_days_works()
        {
            var result = SqsConnectionStringParser.Parse(
                "Region=ap-southeast-2;S3BucketForLargeMessages=myTestBucket;S3KeyPrefix=blah\blah;MaxTTLDays=1");

            Assert.AreEqual(1, result.MaxTTLDays);
        }
Пример #3
0
        public void parsing_s3_bucket_works()
        {
            var result = SqsConnectionStringParser.Parse(
                "Region=ap-southeast-2;S3BucketForLargeMessages=myTestBucket;S3KeyPrefix=blah\blah;");

            Assert.AreEqual("mytestbucket", result.S3BucketForLargeMessages);
        }
        public SqsTestContext(object fixture)
        {
            Address = new Address(fixture.GetType().Name, Environment.MachineName);
            ConnectionConfiguration =
                SqsConnectionStringParser.Parse(ConfigurationManager.AppSettings["TestConnectionString"]);

            S3Client  = AwsClientFactory.CreateS3Client(ConnectionConfiguration);
            SqsClient = AwsClientFactory.CreateSqsClient(ConnectionConfiguration);

            Creator = new SqsQueueCreator
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient = SqsClient,
                S3Client  = S3Client
            };

            _receivedMessages           = new Subject <TransportMessage>();
            _exceptionsThrownByReceiver = new Subject <Exception>();

            QueueUrlCache = new SqsQueueUrlCache
            {
                SqsClient = SqsClient,
                ConnectionConfiguration = ConnectionConfiguration
            };


            Sender = new SqsQueueSender
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient     = SqsClient,
                S3Client      = S3Client,
                QueueUrlCache = QueueUrlCache,
                QueueCreator  = Creator
            };

            DequeueStrategy = new SqsDequeueStrategy(null)
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient = SqsClient,
                S3Client  = S3Client
            };
        }
Пример #5
0
        protected override void Configure(FeatureConfigurationContext context, string connectionString)
        {
            var connectionConfiguration = SqsConnectionStringParser.Parse(connectionString);

            context.Container.ConfigureComponent(_ => connectionConfiguration, DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent(_ => AwsClientFactory.CreateSqsClient(connectionConfiguration), DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent(_ => AwsClientFactory.CreateS3Client(connectionConfiguration), DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent <SqsQueueUrlCache>(DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent <SqsDequeueStrategy>(DependencyLifecycle.InstancePerCall);

            context.Container.ConfigureComponent <SqsQueueSender>(DependencyLifecycle.InstancePerCall);

            context.Container.ConfigureComponent <SqsQueueCreator>(DependencyLifecycle.InstancePerCall);

            if (context.Settings.UseSqsDeferral())
            {
                context.Container.ConfigureComponent <SqsDeferrer>(DependencyLifecycle.InstancePerCall);
            }
        }
Пример #6
0
        public void parsing_environment_variables_credential_source_works()
        {
            var result = SqsConnectionStringParser.Parse("Region=ap-southeast-2;CredentialSource=EnvironmentVariables");

            Assert.AreEqual(SqsCredentialSource.EnvironmentVariables, result.CredentialSource);
        }
Пример #7
0
 public void parsing_unknown_key_throws()
 {
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse("NotAValidKey=some_value;"));
 }
Пример #8
0
        public void parsing_instance_profile_credential_source_works()
        {
            var result = SqsConnectionStringParser.Parse("Region=ap-southeast-2;CredentialSource=InstanceProfile");

            Assert.AreEqual(SqsCredentialSource.InstanceProfile, result.CredentialSource);
        }
Пример #9
0
        public void parsing_queue_name_prefix_works()
        {
            var result = SqsConnectionStringParser.Parse("Region=ap-southeast-2;QueueNamePrefix=DEV");

            Assert.AreEqual("DEV", result.QueueNamePrefix);
        }
Пример #10
0
 public void invalid_max_receive_message_batch_size_throws()
 {
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse(
                                           "Region=ap-southeast-2;S3BucketForLargeMessages=myTestBucket;MaxReceiveMessageBatchSize=100"));
 }
Пример #11
0
 public void invalid_max_ttl_days_throws()
 {
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse(
                                           "Region=ap-southeast-2;S3BucketForLargeMessages=myTestBucket;S3KeyPrefix=blah\blah;MaxTTLDays=100"));
 }
Пример #12
0
 public void throws_if_s3_bucket_is_specified_without_key_prefix()
 {
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse(
                                           "Region=ap-southeast-2;S3BucketForLargeMessages=myTestBucket;"));
 }
Пример #13
0
 public void invalid_region_throws()
 {
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse("Region=not-a-valid-region;"));
 }
Пример #14
0
        public void parsing_valid_region_works()
        {
            var result = SqsConnectionStringParser.Parse("Region=ap-southeast-2;");

            Assert.AreEqual(Amazon.RegionEndpoint.APSoutheast2, result.Region);
        }
Пример #15
0
 public void invalid_credential_source_throws()
 {
     // Don't implement the environment credentials source!
     Assert.Throws <ArgumentException>(() => SqsConnectionStringParser.Parse("Region=ap-southeast-2;CredentialSource=Environment"));
 }