public void RetrieveViaSQSReceiver() { var services = new ServiceCollection(); services.Configure <SQSReceiverOptions>(options => { }); services.AddSQSReceiver("myReceiver", options => { options.QueueUrl = new Uri("http://example.com"); options.Region = "us-west-2"; options.MaxMessages = 5; options.AutoAcknowledge = false; options.WaitTimeSeconds = 123; options.UnpackSNS = true; options.TerminateMessageVisibilityTimeoutOnRollback = true; }, false); var serviceProvider = services.BuildServiceProvider(); var receiver = serviceProvider.GetRequiredService <IReceiver>(); var sqsReceiver = receiver.Should().BeOfType <SQSReceiver>().Subject; sqsReceiver.Name.Should().Be("myReceiver"); sqsReceiver.QueueUrl !.OriginalString.Should().Be("http://example.com"); sqsReceiver.SQSClient.Config.RegionEndpoint.Should().Be(RegionEndpoint.USWest2); sqsReceiver.MaxMessages.Should().Be(5); sqsReceiver.AutoAcknwoledge.Should().BeFalse(); sqsReceiver.WaitTimeSeconds.Should().Be(123); sqsReceiver.UnpackSNS.Should().BeTrue(); sqsReceiver.TerminateMessageVisibilityTimeoutOnRollback.Should().BeTrue(); }
public void ReplaceHttpClient_HttpClientUriAndTimeoutWereSet() { //Arrange var services = new ServiceCollection(); services.AddDbContext <IKSqlDBContext, KSqlDBContext>(c => { c.UseKSqlDb(TestParameters.KsqlDBUrl); c.ReplaceHttpClient <IHttpClientFactory, HttpClientFactory>(httpClient => { httpClient.Timeout = TimeSpan.FromMinutes(5); }).AddHttpMessageHandler(_ => Mock.Of <DelegatingHandler>()); }); var provider = services.BuildServiceProvider(); //Act var httpClientFactory = provider.GetRequiredService <IHttpClientFactory>(); var httpClient = httpClientFactory.CreateClient(); //Assert httpClient.Timeout.Should().Be(TimeSpan.FromMinutes(5)); httpClient.BaseAddress !.OriginalString.Should().Be(TestParameters.KsqlDBUrl); }
public void CreateClient_BaseAddressWasSet() { //Arrange var httpClient = new HttpClient() { BaseAddress = new Uri(TestParameters.KsqlDBUrl) }; var httpClientFactory = new HttpClientFactory(httpClient); //Act var receivedHttpClient = httpClientFactory.CreateClient(); //Assert receivedHttpClient.Should().BeSameAs(httpClient); receivedHttpClient.Should().BeOfType <HttpClient>(); receivedHttpClient.BaseAddress !.OriginalString.Should().BeEquivalentTo(TestParameters.KsqlDBUrl); }
public void RetrieveViaReloadingReceiver() { var reloadingReceiverType = Type.GetType("RockLib.Messaging.DependencyInjection.ReloadingReceiver`1, RockLib.Messaging", true)? .MakeGenericType(typeof(SQSReceiverOptions)); var services = new ServiceCollection(); services.Configure <SQSReceiverOptions>(options => { }); services.AddSQSReceiver("myReceiver", options => { options.QueueUrl = new Uri("http://example.com"); options.Region = "us-west-2"; options.MaxMessages = 5; options.AutoAcknowledge = false; options.WaitTimeSeconds = 123; options.UnpackSNS = true; options.TerminateMessageVisibilityTimeoutOnRollback = true; }, true); var serviceProvider = services.BuildServiceProvider(); var receiver = serviceProvider.GetRequiredService <IReceiver>(); receiver.Should().BeOfType(reloadingReceiverType); var sqsReceiver = (SQSReceiver)receiver.Unlock().Receiver; sqsReceiver.Name.Should().Be("myReceiver"); sqsReceiver.QueueUrl !.OriginalString.Should().Be("http://example.com"); sqsReceiver.SQSClient.Config.RegionEndpoint.Should().Be(RegionEndpoint.USWest2); sqsReceiver.MaxMessages.Should().Be(5); sqsReceiver.AutoAcknwoledge.Should().BeFalse(); sqsReceiver.WaitTimeSeconds.Should().Be(123); sqsReceiver.UnpackSNS.Should().BeTrue(); sqsReceiver.TerminateMessageVisibilityTimeoutOnRollback.Should().BeTrue(); }