コード例 #1
0
        public async Task WebhooksControllerPublishCreatePostReturnsExceptionForConflict(string mediaTypeName, string eventType)
        {
            // Arrange
            var eventGridEvents = BuildValidEventGridEvent(eventType, new EventGridEventData {
                ItemId = ItemIdForCreate.ToString(), Api = "https://somewhere.com",
            });

            using var controller = BuildWebhooksController(mediaTypeName);
            controller.HttpContext.Request.Body = BuildStreamFromModel(eventGridEvents);

            A.CallTo(() => FakeWebhooksService.ProcessMessageAsync(A <WebhookCacheOperation> .Ignored, A <Guid> .Ignored, A <Guid> .Ignored, A <string> .Ignored)).Returns(HttpStatusCode.Conflict);

            // Act
            await Assert.ThrowsAsync <InvalidDataException>(async() => await controller.ReceiveEvents().ConfigureAwait(false)).ConfigureAwait(false);

            // Assert
            A.CallTo(() => FakeWebhooksService.ProcessMessageAsync(A <WebhookCacheOperation> .Ignored, A <Guid> .Ignored, A <Guid> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly();
        }
コード例 #2
0
        public async Task WebhooksControllerPublishCreatePostReturnsOkForCreate(string mediaTypeName, string eventType)
        {
            // Arrange
            const HttpStatusCode expectedResponse = HttpStatusCode.OK;
            var eventGridEvents = BuildValidEventGridEvent(eventType, new EventGridEventData {
                ItemId = ItemIdForCreate.ToString(), Api = "https://somewhere.com",
            });

            using var controller = BuildWebhooksController(mediaTypeName);
            controller.HttpContext.Request.Body = BuildStreamFromModel(eventGridEvents);

            A.CallTo(() => FakeWebhooksService.ProcessMessageAsync(A <WebhookCacheOperation> .Ignored, A <Guid> .Ignored, A <Guid> .Ignored, A <string> .Ignored)).Returns(HttpStatusCode.Created);

            // Act
            var result = await controller.ReceiveEvents().ConfigureAwait(false);

            // Assert
            A.CallTo(() => FakeWebhooksService.ProcessMessageAsync(A <WebhookCacheOperation> .Ignored, A <Guid> .Ignored, A <Guid> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly();
            var okResult = Assert.IsType <OkResult>(result);

            Assert.Equal((int)expectedResponse, okResult.StatusCode);
        }