public SendRequest(WebhookCommand command) { CommandId = command.CommandId; ReceiptHandle = command.ReceiptHandle; Url = command.Url; Data = "This is data"; }
public void LmiWebhookReceiverServiceDetermineWebhookCommandReturnsExpected(MessageContentType messageContentType, WebhookCacheOperation webhookCacheOperation, WebhookCommand expectedResult) { // Arrange // Act var result = LmiWebhookReceiverService.DetermineWebhookCommand(messageContentType, webhookCacheOperation); // Assert Assert.Equal(expectedResult, result); }
public void LmiWebhookReceiverServiceExtractEventReturnsExpected(string eventType, WebhookCommand webhookCommand, string api) { // Arrange var eventGridEventData = new EventGridEventData { ItemId = Guid.NewGuid().ToString(), Api = api, }; var eventGridEvents = BuildValidEventGridEvent(eventType, eventGridEventData); var expectedResult = new WebhookRequestModel { WebhookCommand = webhookCommand, EventId = Guid.Parse(eventGridEvents.First().Id), EventType = eventGridEvents.First().EventType, ContentId = Guid.Parse(eventGridEventData.ItemId), Url = new Uri(eventGridEventData.Api, UriKind.Absolute), SubscriptionValidationResponse = null, }; var requestBody = JsonConvert.SerializeObject(eventGridEvents); // Act var result = lmiWebhookReceiverService.ExtractEvent(requestBody); // Assert Assert.Equal(expectedResult.WebhookCommand, result.WebhookCommand); Assert.Equal(expectedResult.EventType, result.EventType); Assert.Equal(expectedResult.ContentId, result.ContentId); Assert.Equal(expectedResult.Url, result.Url); Assert.Null(result.SubscriptionValidationResponse?.ValidationResponse); }
public async Task LmiWebhookHttpTriggerPostForSubscriptionValidationReturnsBadRequestForPublishedEnvironment(WebhookCommand webhookCommand) { // Arrange var expectedResult = HttpStatusCode.BadRequest; var function = new LmiWebhookHttpTrigger(fakeLogger, publishedEnvironmentValues, fakeLmiWebhookReceiverService); var request = BuildRequestWithValidBody("a request body"); var webhookRequestModel = new WebhookRequestModel { WebhookCommand = webhookCommand, }; A.CallTo(() => fakeLmiWebhookReceiverService.ExtractEvent(A <string> .Ignored)).Returns(webhookRequestModel); // Act var result = await function.Run(request, fakeDurableOrchestrationClient).ConfigureAwait(false); // Assert A.CallTo(() => fakeLmiWebhookReceiverService.ExtractEvent(A <string> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDurableOrchestrationClient.StartNewAsync(A <string> .Ignored, A <SocRequestModel> .Ignored)).MustNotHaveHappened(); A.CallTo(() => fakeDurableOrchestrationClient.CreateCheckStatusResponse(A <HttpRequest> .Ignored, A <string> .Ignored, A <bool> .Ignored)).MustNotHaveHappened(); var statusResult = Assert.IsType <BadRequestResult>(result); Assert.Equal((int)expectedResult, statusResult.StatusCode); }
public async Task LmiWebhookHttpTriggerPostForSubscriptionValidationReturnsExpectedResultCode(WebhookCommand webhookCommand, int forAllCount, int forSocCount) { // Arrange var expectedResult = HttpStatusCode.Created; var function = new LmiWebhookHttpTrigger(fakeLogger, draftEnvironmentValues, fakeLmiWebhookReceiverService); var request = BuildRequestWithValidBody("a request body"); var webhookRequestModel = new WebhookRequestModel { WebhookCommand = webhookCommand, ContentId = Guid.NewGuid(), }; A.CallTo(() => fakeLmiWebhookReceiverService.ExtractEvent(A <string> .Ignored)).Returns(webhookRequestModel); A.CallTo(() => fakeLmiWebhookReceiverService.ReportAll()).Returns(HttpStatusCode.Created); A.CallTo(() => fakeLmiWebhookReceiverService.ReportSoc(A <Guid> .Ignored)).Returns(HttpStatusCode.Created); // Act var result = await function.Run(request).ConfigureAwait(false); // Assert A.CallTo(() => fakeLmiWebhookReceiverService.ExtractEvent(A <string> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeLmiWebhookReceiverService.ReportAll()).MustHaveHappened(forAllCount, Times.Exactly); A.CallTo(() => fakeLmiWebhookReceiverService.ReportSoc(A <Guid> .Ignored)).MustHaveHappened(forSocCount, Times.Exactly); var statusResult = Assert.IsType <StatusCodeResult>(result); Assert.Equal((int)expectedResult, statusResult.StatusCode); }