public async void When_RequestPipelineParallel_ExecPipeLine_Parallel_With_MoreThanOne_Handler() { Mock <IHandlersServiceProvider> providerMock = new Mock <IHandlersServiceProvider>(); TestRequest1 testRequest1 = new TestRequest1(); testRequest1.text = "1"; TestRequest2 testRequest2 = new TestRequest2(); testRequest2.text = "1"; providerMock.Setup(o => o.GetHandlers(testRequest1)).Returns(new List <IBaseHandler> { new HandlersSample1() }); providerMock.Setup(o => o.GetHandlers(testRequest2)).Returns(new List <IBaseHandler> { new HandlersSample2() }); RequestPipelineParallel provider = new RequestPipelineParallel(providerMock.Object); var res = await provider.ExecPipeline(testRequest1); var res2 = await provider.ExecPipeline(testRequest2); res.GetResponse <TestResponse1>().ShouldNotBeNull(); res.ResponseHasErros().ShouldBeFalse(); ((TestResponse1)res.FirstOrDefault()).text.ShouldBe(testRequest1.text); res.Count.ShouldBe(1); res2.GetResponse <TestResponse2>().ShouldNotBeNull(); res2.ResponseHasErros().ShouldBeFalse(); ((TestResponse2)res2.FirstOrDefault()).text.ShouldBe(testRequest2.text); res2.Count.ShouldBe(1); }
public BaseResponse TestPost2([FromBody] TestRequest1 request) { try { var response = new BaseResponse() { Result = $"Ok2. A={request.A}" }; return(response); } catch (Exception ex) { return(new BaseResponse() { Result = ex.ToString() }); } }
public IActionResult TestPost1([FromBody] TestRequest1 request) { try { var response = new BaseResponse() { Result = $"Ok1. A={request.A}" }; return(new JsonResult(response)); } catch (Exception ex) { return(new JsonResult(new BaseResponse() { Result = ex.ToString() })); } }
public BaseResponse TestGet1(TestRequest1 request) { try { var response = new BaseResponse() { Result = $"Ok1. A={request.A}" }; return(response); } catch (Exception ex) { return(new BaseResponse() { Result = ex.ToString() }); } }
public async void When_RequestPipelineParallel_ExecPipeLine_Parallel_With_MoreThanOne_Execpetion() { Mock <IHandlersServiceProvider> providerMock = new Mock <IHandlersServiceProvider>(); TestRequest1 testRequest1 = new TestRequest1(); testRequest1.text = "1"; providerMock.Setup(o => o.GetHandlers(testRequest1)).Returns(new List <IBaseHandler> { new HandlersSample1(), new HandlersSampleWithErrorExecption() }); RequestPipelineParallel provider = new RequestPipelineParallel(providerMock.Object); var res = await provider.ExecPipeline(testRequest1); res.ResponseHasErros().ShouldBeTrue(); res.GetErrorResponse <DefaultResponseError>().ShouldNotBeNull(); }
public async void When_RequestPipelineParallel_ExecPipeLine_Parallel_With_MoreThanOne_PreHandler_Error() { Mock <IHandlersServiceProvider> providerMock = new Mock <IHandlersServiceProvider>(); TestRequest1 testRequest1 = new TestRequest1(); testRequest1.text = "1"; providerMock.Setup(o => o.GetHandlers(testRequest1)).Returns(new List <IBaseHandler> { new HandlersSample1(), new HandlersSampleWithError() }); RequestPipelineParallel provider = new RequestPipelineParallel(providerMock.Object); var res = await provider.ExecPipeline(testRequest1); res.FirstOrDefault().ShouldNotBeNull(); res.Count.ShouldBe(1); res.Any(o => o.AnyError).ShouldBeTrue(); }
public async void When_RequestPipeline_ExecPipeLine_With_MoreThanOne_Handler_Error() { Mock <IHandlersServiceProvider> providerMock = new Mock <IHandlersServiceProvider>(); TestRequest1 testRequest1 = new TestRequest1(); testRequest1.text = "1"; providerMock.Setup(o => o.GetHandlers(testRequest1)).Returns(new List <IBaseHandler> { new HandlersSample1(), new HandlersSample1Error() }); RequestPipeline provider = new RequestPipeline(providerMock.Object); var res = await provider.ExecPipeline(testRequest1); res.GetResponse <TestResponse1>().ShouldNotBeNull(); res.ResponseHasErros().ShouldBeTrue(); res.Count.ShouldBe(2); }
public async Task Medaitor_4WaitForAsync() { var servicesWebApp = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); var servicesMediator = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); servicesWebApp.AddLatransMedaitor() .AddActivityHandler <TestActivityHandler1>() .AddActivityHandler <TestActivityHandler2>() .Build(); ActivityId activityId = ActivityId.NewId(); using (var serviceProviderMediator = servicesMediator.BuildServiceProvider()) { using (var serviceProviderWebApp = servicesWebApp.BuildServiceProvider()) { using (var scopeWebApp = serviceProviderWebApp.CreateScope()) { var scopedProviderWebApp = scopeWebApp.ServiceProvider; var medaitorClient = scopedProviderWebApp.GetRequiredService <IMediatorClientFactory>().GetMedaitorClient(); var activityExecutionConfiguration = scopedProviderWebApp.GetRequiredService <ActivityExecutionConfigurationDefaults>().ForQueryCancelable; var request = new TestRequest1() { A = 6, B = 7 }; var connectedClient = await medaitorClient.ConnectAndSendAsync( activityId, request, activityExecutionConfiguration, CancellationToken.None); var activityResponse = await connectedClient.WaitForAsync(activityExecutionConfiguration, CancellationToken.None); var status = await connectedClient.GetStatusAsync(); Assert.Equal(ActivityStatus.Completed, status.Status); Assert.NotNull(activityResponse); Assert.NotNull(activityResponse as OkResultActivityResponse <TestResponse1>); Assert.Equal(6 * 7 + 1, ((OkResultActivityResponse <TestResponse1>)activityResponse).Result.R); } } } }
public void GetPropertyValueTest() { // Arrange. var typeResolver = Mock.Create<ITypeResolver>(Behavior.Loose); var role1 = new TestRole { Name = "Test Role 1" }; var role2 = new TestRole { Name = "Test Role 2", ParentRole = new TestRole { Name = "Parent Role" } }; var businessUnit = new TestBusinessUnit { Name = "Test BU", ParentBusinessUnit = new TestBusinessUnit { Name = "Parent BU" } }; var employee = new TestEmployee { FirstName = "aaa", LastName = "AAA", BusinessUnit = businessUnit, Roles = new[] { role1, role2 } }; var request = new TestRequest1 { Employee = employee }; var context = new WebMethodResultDataContext(request, typeResolver); // Act / Assert. Assert.IsNull(context.GetPropertyValue(null)); Assert.AreEqual("aaa", context.GetPropertyValue("Employee|FirstName")); Assert.AreEqual("AAA", context.GetPropertyValue("Employee|LastName")); Assert.AreEqual("Test BU", context.GetPropertyValue("Employee|BusinessUnit|Name")); Assert.AreEqual("Parent BU", context.GetPropertyValue("Employee|BusinessUnit|ParentBusinessUnit|Name")); Assert.IsNull(context.GetPropertyValue("Employee|Roles|Name")); Assert.IsNull(context.GetPropertyValue("Employee|Roles|ParentRole|Name")); }
public async Task Medaitor_3ConnectAsync() { var servicesWebApp = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); var servicesMediator = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); servicesWebApp.AddLatransMedaitor() .AddActivityHandler <TestActivityHandler1>() .AddActivityHandler <TestActivityHandler2>() .Build(); IMediatorClientConnected <TestRequest1> connectedClient = null; MediatorClientConnected <TestRequest1, TestResponse1> testConnectedClient = null; using (var serviceProviderMediator = servicesMediator.BuildServiceProvider()) { using (var serviceProviderWebApp = servicesWebApp.BuildServiceProvider()) { using (var scopeWebApp = serviceProviderWebApp.CreateScope()) { var scopedProviderWebApp = scopeWebApp.ServiceProvider; var medaitorClient = scopedProviderWebApp.GetRequiredService <IMediatorClientFactory>().GetMedaitorClient(); var request = new TestRequest1() { A = 6, B = 7 }; connectedClient = await medaitorClient.ConnectAndSendAsync( ActivityId.NewId(), request, null, CancellationToken.None); Assert.False(connectedClient.GetActivityContext().IsDisposed); Assert.NotNull(connectedClient); testConnectedClient = (MediatorClientConnected <TestRequest1, TestResponse1>)connectedClient; Assert.False(testConnectedClient.IsDisposed()); } } } Assert.True(testConnectedClient.IsDisposed()); }
public async void When_RequestPipelineParallel_ExecPipeLine_Parallel_With_MoreThanOne_Handler_SameKey_Response() { Mock <IHandlersServiceProvider> providerMock = new Mock <IHandlersServiceProvider>(); TestRequest1 testRequest1 = new TestRequest1(); testRequest1.text = "1"; providerMock.Setup(o => o.GetHandlers(testRequest1)).Returns(new List <IBaseHandler> { new HandlersSample1(), new HandlersSample_1() }); RequestPipelineParallel provider = new RequestPipelineParallel(providerMock.Object); var res = await provider.ExecPipeline(testRequest1); res.ShouldNotBeNull(); res.Count.ShouldBe(2); var responses = res.GetResponses <TestResponse1>(); foreach (var response in responses) { response.ShouldNotBeNull(); response.text.ShouldBe(testRequest1.text); } }