Skip to content

Commit d914dc0

Browse files
authored
Refactoring of MessageProperties for compatibility with latest RabbitMQ.Client (#1111)
* Check basicProperties.Headers for null * Multiple fixes of MessageProperties 1. All necessary xml docs are added 2. It implements IClonable 3. *Present fields are readonly 4. HeadersPresent property is true only if headers != null && headers.Count > 0 5. Headers property is lazily initialized 6. Nice code formatting :-/ * Limit RabbitMQ.Client compatibility to minor version * Fix tests * Trigger CI
1 parent ff16041 commit d914dc0

File tree

10 files changed

+172
-192
lines changed

10 files changed

+172
-192
lines changed

Source/EasyNetQ.DI.Tests/EasyNetQ.DI.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<PackageReference Include="LightInject" Version="5.5.0" />
2828
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
2929
<PackageReference Include="NSubstitute" Version="4.2.2" />
30-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
30+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
3131
<PackageReference Include="SimpleInjector" Version="4.6.2" />
3232
<PackageReference Include="Autofac" Version="4.9.3" />
3333
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta3-build3705" />

Source/EasyNetQ.Hosepipe.Tests/EasyNetQ.Hosepipe.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
1818
<PackageReference Include="xunit" Version="2.4.1" />
1919
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
20-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
20+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2121
<PackageReference Include="GitVersionTask" Version="5.0.1">
2222
<PrivateAssets>all</PrivateAssets>
2323
</PackageReference>

Source/EasyNetQ.Hosepipe/EasyNetQ.Hosepipe.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
</PropertyGroup>
2626
<ItemGroup>
2727
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
28-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
28+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2929
<Reference Include="System" />
3030
<Reference Include="System.Core" />
3131
</ItemGroup>

Source/EasyNetQ.IntegrationTests/EasyNetQ.IntegrationTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
2020
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
2121
<PackageReference Include="NSubstitute" Version="4.2.2" />
22-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
22+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2323
<PackageReference Include="System.ComponentModel.TypeConverter" Version="4.3.0" />
2424
<PackageReference Include="System.Net.Http" Version="4.3.4" />
2525
<PackageReference Include="xunit" Version="2.4.1" />

Source/EasyNetQ.Scheduler/EasyNetQ.Scheduler.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<ItemGroup>
2323
<PackageReference Include="log4net" Version="2.0.8" />
2424
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
25-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
25+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2626
<PackageReference Include="Topshelf" Version="4.2.1" />
2727
<PackageReference Include="GitVersionTask" Version="5.0.1">
2828
<PrivateAssets>all</PrivateAssets>

Source/EasyNetQ.Tests/EasyNetQ.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
1818
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
1919
<PackageReference Include="NSubstitute" Version="4.2.2" />
20-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
20+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2121
<PackageReference Include="System.ComponentModel.TypeConverter" Version="4.3.0" />
2222
<PackageReference Include="System.Net.Http" Version="4.3.4" />
2323
<PackageReference Include="xunit" Version="2.4.1" />

Source/EasyNetQ.Tests/MessagePropertiesTests.cs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
// ReSharper disable InconsistentNaming
22
using System.Collections.Generic;
3-
using RabbitMQ.Client.Framing;
43
using System;
54
using System.Linq;
65
using System.Reflection;
7-
using System.Text;
86
using FluentAssertions;
97
using Xunit;
108

@@ -47,7 +45,7 @@ public void Should_clone()
4745

4846
var properties = new MessageProperties {
4947
ReplyTo = replyTo,
50-
Headers = new Dictionary<string, object>()
48+
Headers = new Dictionary<string, object>
5149
{
5250
{ "AString", "ThisIsAString" },
5351
{ "AnInt", 123 }
@@ -65,13 +63,12 @@ public void Should_clone()
6563
[Fact]
6664
public void Should_be_able_to_write_debug_properties()
6765
{
68-
const string expectedDebugProperties =
69-
"ContentType=content_type, ContentEncoding=content_encoding, " +
70-
"Headers=[key1=value1, key2=value2], DeliveryMode=10, Priority=3, CorrelationId=NULL, " +
71-
"ReplyTo=reply_to, Expiration=expiration, MessageId=message_id, Timestamp=123456, Type=type, " +
66+
const string expectedDebugProperties =
67+
"ContentType=content_type, ContentEncoding=content_encoding, " +
68+
"Headers=[key1=value1, key2=value2], DeliveryMode=10, Priority=3, CorrelationId=NULL, " +
69+
"ReplyTo=reply_to, Expiration=expiration, MessageId=message_id, Timestamp=123456, Type=type, " +
7270
"UserId=userid, AppId=app_id, ClusterId=cluster_id";
7371

74-
var stringBuilder = new StringBuilder();
7572
var headers = new Dictionary<string, object>
7673
{
7774
{"key1", "value1"},
@@ -134,4 +131,4 @@ public void Should_throw_if_any_string_property_exceeds_255_chars()
134131
}
135132
}
136133

137-
// ReSharper restore InconsistentNaming
134+
// ReSharper restore InconsistentNaming

Source/EasyNetQ.Tests/TestMessage.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
{
33
public class TestMessage
44
{
5-
65
}
76

87
[Queue("MyQueue", ExchangeName = "MyExchange")]
@@ -47,4 +46,4 @@ public class MyOtherMessage
4746
public string Text { get; set; }
4847
}
4948

50-
}
49+
}

Source/EasyNetQ/EasyNetQ.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<ItemGroup>
2020
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
2121
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
22-
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,7.0.0)" />
22+
<PackageReference Include="RabbitMQ.Client" Version="[6.2.1,6.3.0)" />
2323
<PackageReference Include="LibLog" Version="5.0.8">
2424
<PrivateAssets>all</PrivateAssets>
2525
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>

0 commit comments

Comments
 (0)