Beispiel #1
0
        public async Task ValidRequest_FunctionCalled()
        {
            var    function = new TestCloudEventFunction();
            var    adapter  = new CloudEventAdapter(function, new JsonEventFormatter(), new NullLogger <CloudEventAdapter>());
            string eventId  = Guid.NewGuid().ToString();
            var    context  = new DefaultHttpContext
            {
                Request =
                {
                    // No actual content, but that's okay.
                    ContentType = "application/json",
                    Headers     =
                    {
                        { "ce-specversion", "1.0"   },
                        { "ce-source",      "test"  },
                        { "ce-type",        "test"  },
                        { "ce-id",          eventId }
                    }
                }
            };
            await adapter.HandleAsync(context);

            Assert.Equal(200, context.Response.StatusCode);
            Assert.Equal(eventId, function.LastEvent?.Id);
        }
Beispiel #2
0
        private static async Task <T> ConvertAndDeserialize <T>(string resourceName) where T : class
        {
            var context    = GcfEventResources.CreateHttpContext(resourceName);
            var cloudEvent = await GcfConverters.ConvertGcfEventToCloudEvent(context.Request);

            return(CloudEventAdapter <T> .ConvertData(cloudEvent));
        }
Beispiel #3
0
        public async Task InvalidRequest_FunctionNotCalled()
        {
            var function = new TestCloudEventFunction();
            var adapter  = new CloudEventAdapter(function, new JsonEventFormatter(), new NullLogger <CloudEventAdapter>());
            var context  = new DefaultHttpContext();
            await adapter.HandleAsync(context);

            Assert.Equal(400, context.Response.StatusCode);
            Assert.Null(function.LastEvent);
        }
Beispiel #4
0
        public async Task ValidRequest_GcfEventIsConverted()
        {
            var function = new TestCloudEventFunction();
            var adapter  = new CloudEventAdapter(function, new JsonEventFormatter(), new NullLogger <CloudEventAdapter>());
            var context  = GcfEventResources.CreateHttpContext("storage.json");
            await adapter.HandleAsync(context);

            Assert.Equal(200, context.Response.StatusCode);
            Assert.Equal("1147091835525187", function.LastEvent?.Id);
            Assert.Equal("google.cloud.storage.object.v1.finalized", function.LastEvent?.Type);
        }