public void ExecuteAsync_NoCallback_Test() { var handler = new BatchMessageHandler(true); var initializer = new BaseClientService.Initializer() { HttpClientFactory = new MockHttpClientFactory(handler) }; using (var service = new MockClientService(initializer, "http://sample.com")) { var responses = new List <Tuple <MockResponse, RequestError, HttpResponseMessage> >(); var batch = new BatchRequest(service); var request1 = new TestClientServiceRequest(service, new MockRequest { ETag = "\"100\"", Name = "Name1" }); var request2 = new TestClientServiceRequest(service, new MockRequest { ETag = "\"200\"", Name = "Name1-1" }); batch.Queue <MockResponse>(request1, null); batch.Queue <MockResponse>(request2, null); batch.ExecuteAsync().Wait(); } }
public void Run() { var offersListener = new BatchMessageHandler <CRUDWrapper <Offer> >("offers", BatchHandler, 10); this.queue.Listener(offersListener).Start(); var offersTimer = new Timer( (o) => { this.logger.LogInfo("Offer batch 'Fatch Messages'"); offersListener.FatchMessages(); }, null, 10 * 1000, 10 * 1000); }
public void Run() { var employeesListener = new BatchMessageHandler <CRUDWrapper <Employee> >("employees", BatchHandler, 10); queue.Listener(employeesListener).Start(); var employeesTimer = new Timer( (o) => { this.logger.LogInfo("Employee batch 'Fatch Messages'"); employeesListener.FatchMessages(); }, null, 10 * 1000, 10 * 1000); }
public static void UseSyncDataBroker(this IApplicationBuilder app) { provider = app.ApplicationServices; var employeesListener = new BatchMessageHandler <CRUDWrapper <Employee> >("employees", EmployeesBatchHandler, 10); var offersListener = new BatchMessageHandler <CRUDWrapper <Offer> >("offers", OffersBatchHandler, 10); provider.GetService <IQueueManager>().Listener(employeesListener).Start(); provider.GetService <IQueueManager>().Listener(offersListener).Start(); var employeesTimer = new Timer( (o) => { employeesListener.FatchMessages(); }, null, 10 * 1000, 10 * 1000); var offersTimer = new Timer( (o) => { offersListener.FatchMessages(); }, null, 10 * 1000, 10 * 1000); }
/// <summary>Subtest for the execute method.</summary> /// <param name="successful2ndReponse">Indicates if the 2nd individual response is unsuccessful.</param> void SubtestExecuteAsync_Test(bool successful2ndReponse) { var handler = new BatchMessageHandler(successful2ndReponse); var initializer = new BaseClientService.Initializer() { HttpClientFactory = new MockHttpClientFactory(handler) }; using (var service = new MockClientService(initializer, "http://sample.com")) { var responses = new List <Tuple <MockResponse, RequestError, HttpResponseMessage> >(); var batch = new BatchRequest(service); var request1 = new TestClientServiceRequest(service, new MockRequest { ETag = "\"100\"", Name = "Name1" }); var request2 = new TestClientServiceRequest(service, new MockRequest { ETag = "\"200\"", Name = "Name1-1" }); // Adding the content, error and message into the responses list to verify the results later on batch.Queue <MockResponse>(request1, (content, error, index, message) => { responses.Add(new Tuple <MockResponse, RequestError, HttpResponseMessage>( content, error, message)); }); batch.Queue <MockResponse>(request2, (content, error, index, message) => { responses.Add(new Tuple <MockResponse, RequestError, HttpResponseMessage>( content, error, message)); }); batch.ExecuteAsync().Wait(); Assert.That(responses.Count, Is.EqualTo(2)); var tuple = responses[0]; Assert.Null(tuple.Item2); // no error var response = tuple.Item1; // response Assert.That(response.ETag, Is.EqualTo(@"""10011""")); Assert.That(response.Id, Is.EqualTo(1)); var httpMessage = tuple.Item3; // HTTP message Assert.That(httpMessage.Content.Headers.ContentType.MediaType, Is.EqualTo("application/json")); Assert.That(httpMessage.Content.Headers.ContentLength, Is.EqualTo(505)); tuple = responses[1]; if (successful2ndReponse) { Assert.Null(tuple.Item2); // no error response = tuple.Item1; // response Assert.That(response.ETag, Is.EqualTo(@"""234""")); Assert.That(response.Id, Is.EqualTo(2)); } else { Assert.Null(tuple.Item1); // no response RequestError reqError = tuple.Item2; // error Assert.That(reqError.Errors.Count, Is.EqualTo(1)); Assert.That(reqError.Code, Is.EqualTo(404)); Assert.That(reqError.Message, Is.EqualTo("Not Found")); } httpMessage = tuple.Item3; // HTTP message Assert.That(httpMessage.Content.Headers.ContentType.MediaType, Is.EqualTo("application/json")); Assert.That(httpMessage.Content.Headers.ContentLength, Is.EqualTo(202)); } }