public void MultipleCodecs() { var properties = new MessageProperties { ContentEncoding = "deflate, gzip", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(); var encoded = subject.OnProduce(input); Assert.Equal(new byte[] { 147, 239, 230, 96, 0, 3, 102, 109, 79, 93, 61, 70, 6, 158, 186, 250, 27, 44, 64, 46, 0 }, encoded.Body); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }
public void CodecBrotli() { var properties = new MessageProperties { ContentEncoding = "br", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(); var encoded = subject.OnProduce(input); Assert.Equal(new byte[] { 139, 1, 128, 116, 101, 115, 116, 3 }, encoded.Body); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }
public void CodecDeflate() { var properties = new MessageProperties { ContentEncoding = "deflate", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(); var encoded = subject.OnProduce(input); Assert.Equal(new byte[] { 43, 73, 45, 46, 1, 0 }, encoded.Body); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }
public void CodecIdentity() { var properties = new MessageProperties { ContentEncoding = "identity", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(); var encoded = subject.OnProduce(input); Assert.Equal("test", Encoding.UTF8.GetString(encoded.Body)); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }
public void CodecGzip() { var properties = new MessageProperties { ContentEncoding = "gzip", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(); var encoded = subject.OnProduce(input); Assert.Equal(new Byte[] { 31, 139, 8, 0, 0, 0, 0, 0, 0, 11, 43, 73, 45, 46, 1, 0, 12, 126, 127, 216, 4, 0, 0, 0 }, encoded.Body); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }
public void CustomCodec() { var properties = new MessageProperties { ContentEncoding = "base64", ContentTypePresent = true }; var input = new RawMessage(properties, Encoding.UTF8.GetBytes("test")); var subject = new ExtensibleContentEncodingInterceptor(codecs => { codecs["base64"] = new Base64Codec(); }); var encoded = subject.OnProduce(input); Assert.Equal(Encoding.UTF8.GetString(encoded.Body), "dGVzdA=="); var decoded = subject.OnConsume(encoded); Assert.Equal("test", Encoding.UTF8.GetString(decoded.Body)); }