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); }
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)); }
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); }
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); }