コード例 #1
0
        public async Task MessageWithoutTextData()
        {
            var data = new MessagePublishedData
            {
                Message = new PubsubMessage {
                    Attributes = { { "key", "value" } }
                }
            };
            var cloudEvent = new CloudEvent
            {
                Type   = MessagePublishedData.MessagePublishedCloudEventType,
                Source = new Uri("//pubsub.googleapis.com", UriKind.RelativeOrAbsolute),
                Id     = Guid.NewGuid().ToString(),
                Time   = DateTimeOffset.UtcNow
            };

            var logger   = new MemoryLogger <HelloPubSub.Function>();
            var function = new HelloPubSub.Function(logger);
            await function.HandleAsync(cloudEvent, data, CancellationToken.None);

            var logEntry = Assert.Single(logger.ListLogEntries());

            Assert.Equal("Hello world", logEntry.Message);
            Assert.Equal(LogLevel.Information, logEntry.Level);
        }
コード例 #2
0
        public async Task MessageWithTextData()
        {
            var data = new MessagePublishedData {
                Message = new PubsubMessage {
                    TextData = "PubSub user"
                }
            };
            var cloudEvent = new CloudEvent(
                MessagePublishedData.MessagePublishedCloudEventType,
                new Uri("//pubsub.googleapis.com", UriKind.RelativeOrAbsolute),
                Guid.NewGuid().ToString(),
                DateTime.UtcNow);

            // Our function doesn't actually use the CloudEvent data, because that's provided separately.
            // If we wanted to make the CloudEvent look as realistic as possible, we could use
            // CloudEventConverters.PopulateCloudEvent.

            var logger   = new MemoryLogger <HelloPubSub.Function>();
            var function = new HelloPubSub.Function(logger);
            await function.HandleAsync(cloudEvent, data, CancellationToken.None);

            var logEntry = Assert.Single(logger.ListLogEntries());

            Assert.Equal("Hello PubSub user", logEntry.Message);
            Assert.Equal(LogLevel.Information, logEntry.Level);
        }