public async Task ChecksHttpGetVerb(WebhookConfig config, HttpMethod httpMethod, string payload, HttpStatusCode expectedResponseCode, string expectedResponseBody) { var mockHttp = new MockHttpMessageHandler(); var request = mockHttp.When(httpMethod, config.Uri) .Respond(expectedResponseCode, "application/json", expectedResponseBody); var genericWebhookHandler = new GenericWebhookHandler( new Mock <IAcquireTokenHandler>().Object, new RequestBuilder(), new Mock <IBigBrother>().Object, mockHttp.ToHttpClient(), config); await genericWebhookHandler.Call(new MessageData { Payload = payload }); Assert.Equal(1, mockHttp.GetMatchCount(request)); }
public async Task ExecuteHappyPath() { var(messageData, metaData) = EventHandlerTestHelper.CreateMessageDataPayload(); var config = new WebhookConfig { Uri = "http://localhost/webhook", HttpVerb = HttpVerb.Put, AuthenticationConfig = new AuthenticationConfig(), WebhookRequestRules = new List <WebhookRequestRule> { new WebhookRequestRule { Source = new ParserLocation { Path = "OrderCode" }, Destination = new ParserLocation { Location = Location.Uri } } } }; var mockHttp = new MockHttpMessageHandler(); var webhookRequest = mockHttp.When(HttpMethod.Put, $"{config.Uri}/{metaData["OrderCode"]}") .WithContentType("application/json", messageData.Payload) .Respond(HttpStatusCode.OK, "application/json", string.Empty); var genericWebhookHandler = new GenericWebhookHandler( new Mock <IAcquireTokenHandler>().Object, new RequestBuilder(), new Mock <IBigBrother>().Object, mockHttp.ToHttpClient(), config); await genericWebhookHandler.Call(messageData); Assert.Equal(1, mockHttp.GetMatchCount(webhookRequest)); }