public void GetCredentials_GivenNoBasic_ThenReturnsBasicAWSCredentialsWithNull()
        {
            var options = new AmazonSqsOptions();

            var credentials = options.GetCredentials();
            var basic       = Assert.IsType <BasicAWSCredentials>(credentials);

            Assert.Null(basic.GetCredentials());
        }
        public void DefaultCtor_IsValid()
        {
            var options = new AmazonSqsOptions();

            Assert.Equal(string.Empty, options.ConnectionName);
            Assert.Same(RegionEndpoint.USEast1.SystemName, options.RegionSystemName);
            Assert.Null(options.AccessKey);
            Assert.Null(options.SecretKey);
            Assert.Null(options.SqsConfig);
            Assert.Null(options.SnsConfig);
        }
        public void GetCredentials_GivenSetCredentials_ThenReturnsSame()
        {
            var options = new AmazonSqsOptions();

            var expected = new AnonymousAWSCredentials();

            options.SetCredentials(expected);

            var credentials = options.GetCredentials();
            var actual      = Assert.IsType <AnonymousAWSCredentials>(credentials);

            Assert.Same(expected, actual);
        }
        public void SetCredentials_ThenResetBasic()
        {
            var options = new AmazonSqsOptions
            {
                AccessKey = "access-key-test",
                SecretKey = "secret-key-test",
            };

            Assert.NotNull(options.AccessKey);
            Assert.NotNull(options.SecretKey);

            options.SetCredentials(new AnonymousAWSCredentials());

            Assert.Null(options.AccessKey);
            Assert.Null(options.SecretKey);
        }
        public void GetCredentials_GivenBasic_ThenReturnsBasicAWSCredentials()
        {
            var options = new AmazonSqsOptions
            {
                AccessKey = "access-key-test",
                SecretKey = "secret-key-test",
            };

            var credentials = options.GetCredentials();
            var basic       = Assert.IsType <BasicAWSCredentials>(credentials);

            var immutable = basic.GetCredentials();

            Assert.NotNull(immutable);

            Assert.Equal("access-key-test", immutable.AccessKey);
            Assert.Equal("secret-key-test", immutable.SecretKey);
            Assert.Equal(string.Empty, immutable.Token);
            Assert.False(immutable.UseToken);
        }
Exemple #6
0
        public async Task UseAmazonSqs_GivenStaticOptions_ThenValid()
        {
            var options = new AmazonSqsOptions
            {
                ConnectionName   = "connection-name-test",
                RegionSystemName = RegionEndpoint.USWest2.SystemName,
                AccessKey        = "access-key-test",
                SecretKey        = "secret-key-test",
            };

            var mockBusHandle                       = new Mock <BusHandle>(MockBehavior.Strict);
            var mockBusControl                      = new Mock <IBusControl>(MockBehavior.Strict);
            var mockAmazonSqsBusFactory             = new Mock <IBusFactory <IAmazonSqsBusFactoryConfigurator> >(MockBehavior.Strict);
            var mockAmazonSqsBusFactoryConfigurator = new Mock <IAmazonSqsBusFactoryConfigurator>(MockBehavior.Strict);
            var mockAmazonSqsHost                   = new Mock <IAmazonSqsHost>(MockBehavior.Strict);

            mockBusControl
            .Setup(_ => _.StartAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(mockBusHandle.Object)
            .Verifiable();

            mockBusControl
            .Setup(_ => _.StopAsync(It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask)
            .Verifiable();

            mockAmazonSqsBusFactory
            .Setup(_ => _.Create(It.IsAny <Action <IAmazonSqsBusFactoryConfigurator> >()))
            .Callback((Action <IAmazonSqsBusFactoryConfigurator> configure) => configure(mockAmazonSqsBusFactoryConfigurator.Object))
            .Returns(mockBusControl.Object)
            .Verifiable();

            mockAmazonSqsBusFactoryConfigurator
            .Setup(_ => _.Host(It.IsAny <AmazonSqsHostSettings>()))
            .Callback((AmazonSqsHostSettings settings) =>
            {
                Assert.Equal(options.RegionSystemName, settings.Region.SystemName);
                Assert.Equal(options.AccessKey, settings.AccessKey);
                Assert.Equal(options.SecretKey, settings.SecretKey);
            })
            .Returns(mockAmazonSqsHost.Object)
            .Verifiable();

            var services = new ServiceCollection();

            services.AddSingleton(mockAmazonSqsBusFactory.Object);

            services.AddLogging(builder =>
            {
                builder.SetMinimumLevel(LogLevel.Trace);
                builder.AddXUnit(_output);
            });

            services.AddMassTransit(builder =>
            {
                builder.UseAmazonSqs(options);
            });

            using (var serviceProvider = services.BuildServiceProvider())
            {
                var busManager = serviceProvider.GetRequiredService <IBusManager>();

                await busManager.StartAsync(CancellationToken.None).ConfigureAwait(false);

                var bus = busManager.GetBus(options.ConnectionName);
                Assert.NotNull(bus);

                await busManager.StopAsync(CancellationToken.None).ConfigureAwait(false);
            }

            mockAmazonSqsHost.Verify();
            mockAmazonSqsBusFactoryConfigurator.Verify();
            mockAmazonSqsBusFactory.Verify();
            mockBusControl.Verify();
            mockBusHandle.Verify();
        }