Coverage for IsCloudEvent
Signed-off-by: clemensv <clemensv@microsoft.com>
This commit is contained in:
parent
89123179af
commit
df4f79d40a
|
@ -9,6 +9,7 @@ namespace CloudNative.CloudEvents
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
using System.Net.Mime;
|
using System.Net.Mime;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -64,6 +65,13 @@ namespace CloudNative.CloudEvents
|
||||||
httpResponseMessage.Headers.Contains(SpecVersionHttpHeader));
|
httpResponseMessage.Headers.Contains(SpecVersionHttpHeader));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsCloudEvent(this HttpListenerRequest httpListenerRequest)
|
||||||
|
{
|
||||||
|
return ((httpListenerRequest.Headers["content-type"] != null &&
|
||||||
|
httpListenerRequest.Headers["content-type"].StartsWith(CloudEvent.MediaType)) ||
|
||||||
|
httpListenerRequest.Headers.AllKeys.Contains(SpecVersionHttpHeader));
|
||||||
|
}
|
||||||
|
|
||||||
public static CloudEvent ToCloudEvent(this HttpResponseMessage httpResponseMessage,
|
public static CloudEvent ToCloudEvent(this HttpResponseMessage httpResponseMessage,
|
||||||
params ICloudEventExtension[] extensions)
|
params ICloudEventExtension[] extensions)
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,9 +34,11 @@ namespace CloudNative.CloudEvents.UnitTests
|
||||||
attrs["comexampleextension2"] = new { othervalue = 5 };
|
attrs["comexampleextension2"] = new { othervalue = 5 };
|
||||||
|
|
||||||
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Structured, new JsonEventFormatter());
|
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Structured, new JsonEventFormatter());
|
||||||
|
Assert.True(message.IsCloudEvent());
|
||||||
var encodedAmqpMessage = message.Encode();
|
var encodedAmqpMessage = message.Encode();
|
||||||
|
|
||||||
var message1 = Message.Decode(encodedAmqpMessage);
|
var message1 = Message.Decode(encodedAmqpMessage);
|
||||||
|
Assert.True(message1.IsCloudEvent());
|
||||||
var receivedCloudEvent = message1.ToCloudEvent();
|
var receivedCloudEvent = message1.ToCloudEvent();
|
||||||
|
|
||||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||||
|
@ -75,9 +77,11 @@ namespace CloudNative.CloudEvents.UnitTests
|
||||||
attrs["comexampleextension2"] = new { othervalue = 5 };
|
attrs["comexampleextension2"] = new { othervalue = 5 };
|
||||||
|
|
||||||
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Binary, new JsonEventFormatter());
|
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Binary, new JsonEventFormatter());
|
||||||
|
Assert.True(message.IsCloudEvent());
|
||||||
var encodedAmqpMessage = message.Encode();
|
var encodedAmqpMessage = message.Encode();
|
||||||
|
|
||||||
var message1 = Message.Decode(encodedAmqpMessage);
|
var message1 = Message.Decode(encodedAmqpMessage);
|
||||||
|
Assert.True(message1.IsCloudEvent());
|
||||||
var receivedCloudEvent = message1.ToCloudEvent();
|
var receivedCloudEvent = message1.ToCloudEvent();
|
||||||
|
|
||||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||||
|
|
|
@ -148,6 +148,8 @@ namespace CloudNative.CloudEvents.UnitTests
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Assert.True(context.Request.IsCloudEvent());
|
||||||
|
|
||||||
var receivedCloudEvent = context.Request.ToCloudEvent(new JsonEventFormatter());
|
var receivedCloudEvent = context.Request.ToCloudEvent(new JsonEventFormatter());
|
||||||
|
|
||||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||||
|
@ -229,6 +231,7 @@ namespace CloudNative.CloudEvents.UnitTests
|
||||||
var result = await httpClient.GetAsync(new Uri(listenerAddress + "ep"));
|
var result = await httpClient.GetAsync(new Uri(listenerAddress + "ep"));
|
||||||
|
|
||||||
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
|
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
|
||||||
|
Assert.True(result.IsCloudEvent());
|
||||||
var receivedCloudEvent = result.ToCloudEvent();
|
var receivedCloudEvent = result.ToCloudEvent();
|
||||||
|
|
||||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||||
|
|
Loading…
Reference in New Issue