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.Net;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -64,6 +65,13 @@ namespace CloudNative.CloudEvents
|
|||
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,
|
||||
params ICloudEventExtension[] extensions)
|
||||
{
|
||||
|
|
|
@ -34,9 +34,11 @@ namespace CloudNative.CloudEvents.UnitTests
|
|||
attrs["comexampleextension2"] = new { othervalue = 5 };
|
||||
|
||||
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Structured, new JsonEventFormatter());
|
||||
Assert.True(message.IsCloudEvent());
|
||||
var encodedAmqpMessage = message.Encode();
|
||||
|
||||
var message1 = Message.Decode(encodedAmqpMessage);
|
||||
Assert.True(message1.IsCloudEvent());
|
||||
var receivedCloudEvent = message1.ToCloudEvent();
|
||||
|
||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||
|
@ -75,9 +77,11 @@ namespace CloudNative.CloudEvents.UnitTests
|
|||
attrs["comexampleextension2"] = new { othervalue = 5 };
|
||||
|
||||
var message = new AmqpCloudEventMessage(cloudEvent, ContentMode.Binary, new JsonEventFormatter());
|
||||
Assert.True(message.IsCloudEvent());
|
||||
var encodedAmqpMessage = message.Encode();
|
||||
|
||||
var message1 = Message.Decode(encodedAmqpMessage);
|
||||
Assert.True(message1.IsCloudEvent());
|
||||
var receivedCloudEvent = message1.ToCloudEvent();
|
||||
|
||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||
|
|
|
@ -148,6 +148,8 @@ namespace CloudNative.CloudEvents.UnitTests
|
|||
{
|
||||
try
|
||||
{
|
||||
Assert.True(context.Request.IsCloudEvent());
|
||||
|
||||
var receivedCloudEvent = context.Request.ToCloudEvent(new JsonEventFormatter());
|
||||
|
||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||
|
@ -229,6 +231,7 @@ namespace CloudNative.CloudEvents.UnitTests
|
|||
var result = await httpClient.GetAsync(new Uri(listenerAddress + "ep"));
|
||||
|
||||
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
|
||||
Assert.True(result.IsCloudEvent());
|
||||
var receivedCloudEvent = result.ToCloudEvent();
|
||||
|
||||
Assert.Equal("0.2", receivedCloudEvent.SpecVersion);
|
||||
|
|
Loading…
Reference in New Issue