예제 #1
0
        public void DeconstructEventGridMessageThrowsWhenInvalidJsonProvided()
        {
            // arrange
            const string requestBody = "invalidjson";
            var          service     = new EventGridSubscriberService();

            // act and assert
            Assert.Throws <JsonReaderException>(() => service.DeconstructEventGridMessage <AudioCreatedEventData>(requestBody));
        }
예제 #2
0
        public void DeconstructEventGridMessage_ThrowsWhenInvalidJsonProvided()
        {
            // arrange
            var requestBody = "invalidjson";
            var req         = new DefaultHttpRequest(new DefaultHttpContext())
            {
                Body = GetStreamFromString(requestBody)
            };
            var service = new EventGridSubscriberService();

            // act and assert
            Assert.Throws <JsonReaderException>(() => service.DeconstructEventGridMessage(req));
        }
예제 #3
0
        public void DeconstructEventGridMessageParsesSingleEvent()
        {
            // arrange
            const string requestBody = "[{\r\n  \"id\": \"eventid\",\r\n  \"topic\": \"topicid\",\r\n  \"subject\": \"fakeuserid/fakeitemid\",\r\n  \"data\": { \"category\": \"test\" },\r\n  \"eventType\": \"AudioCreated\",\r\n  \"eventTime\": \"2018-01-25T22:12:19.4556811Z\",\r\n  \"metadataVersion\": \"1\",\r\n  \"dataVersion\": \"1\"\r\n}]";
            var          service     = new EventGridSubscriberService();

            // act
            var eventResponse = service.DeconstructEventGridMessage <AudioCreatedEventData>(requestBody);

            // assert
            Assert.Equal("fakeuserid", eventResponse.UserId);
            Assert.Equal("fakeitemid", eventResponse.ItemId);
            Assert.NotNull(eventResponse.Event);
            Assert.IsType <AudioCreatedEventData>(eventResponse.Event.Data);
            Assert.Equal("test", eventResponse.Event.Data.Category);
        }
예제 #4
0
        public void DeconstructEventGridMessage_ParsesSingleEvent()
        {
            // arrange
            var requestBody = "[{\r\n  \"id\": \"eventid\",\r\n  \"topic\": \"topicid\",\r\n  \"subject\": \"fakeuserid/fakeitemid\",\r\n  \"data\": {},\r\n  \"eventType\": \"AudioCreated\",\r\n  \"eventTime\": \"2018-01-25T22:12:19.4556811Z\",\r\n  \"metadataVersion\": \"1\",\r\n  \"dataVersion\": \"1\"\r\n}]";
            var req         = new DefaultHttpRequest(new DefaultHttpContext())
            {
                Body = GetStreamFromString(requestBody)
            };
            var service = new EventGridSubscriberService();

            // act
            var result = service.DeconstructEventGridMessage(req);

            // assert
            Assert.Equal("fakeuserid", result.userId);
            Assert.Equal("fakeitemid", result.itemId);
            Assert.NotNull(result.eventGridEvent);
            Assert.IsType <AudioCreatedEventData>(result.eventGridEvent.Data);
        }