AMQNET-595: Set and get group-id message property field
diff --git a/src/NMS.AMQP/Message/Facade/INmsMessageFacade.cs b/src/NMS.AMQP/Message/Facade/INmsMessageFacade.cs
index e91ef24..6520079 100644
--- a/src/NMS.AMQP/Message/Facade/INmsMessageFacade.cs
+++ b/src/NMS.AMQP/Message/Facade/INmsMessageFacade.cs
@@ -36,6 +36,7 @@
IDestination NMSReplyTo { get; set; }
DateTime NMSTimestamp { get; set; }
string NMSType { get; set; }
+ string GroupId { get; set; }
DateTime Expiration { get; set; }
sbyte JmsMsgType { get; }
INmsMessageFacade Copy();
diff --git a/src/NMS.AMQP/Message/NmsMessage.cs b/src/NMS.AMQP/Message/NmsMessage.cs
index 1f81717..d78b300 100644
--- a/src/NMS.AMQP/Message/NmsMessage.cs
+++ b/src/NMS.AMQP/Message/NmsMessage.cs
@@ -94,6 +94,12 @@
get => Facade.NMSType;
set => Facade.NMSType = value;
}
+
+ public string NMSGroupId
+ {
+ get => Facade.GroupId;
+ set => Facade.GroupId = value;
+ }
public NmsAcknowledgeCallback NmsAcknowledgeCallback { get; set; }
diff --git a/test/Apache-NMS-AMQP-Test/Message/Facade/NmsTestMessageFacade.cs b/test/Apache-NMS-AMQP-Test/Message/Facade/NmsTestMessageFacade.cs
index 919eb58..1ebbc6b 100644
--- a/test/Apache-NMS-AMQP-Test/Message/Facade/NmsTestMessageFacade.cs
+++ b/test/Apache-NMS-AMQP-Test/Message/Facade/NmsTestMessageFacade.cs
@@ -73,6 +73,7 @@
public IDestination NMSReplyTo { get; set; }
public DateTime NMSTimestamp { get; set; }
public string NMSType { get; set; }
+ public string GroupId { get; set; }
public DateTime Expiration { get; set; }
public sbyte JmsMsgType { get; }
public INmsMessageFacade Copy()
diff --git a/test/Apache-NMS-AMQP-Test/Message/NmsMessageTest.cs b/test/Apache-NMS-AMQP-Test/Message/NmsMessageTest.cs
index b78bd96..3256ccc 100644
--- a/test/Apache-NMS-AMQP-Test/Message/NmsMessageTest.cs
+++ b/test/Apache-NMS-AMQP-Test/Message/NmsMessageTest.cs
@@ -395,6 +395,16 @@
Assert.Throws<MessageFormatException>(() => msg.Properties.GetFloat(name));
Assert.Throws<MessageFormatException>(() => msg.Properties.GetDouble(name));
}
+
+ [Test]
+ public void TestSetAndGetGroupId()
+ {
+ NmsMessage msg = factory.CreateMessage();
+
+ msg.Properties.SetString("NMSGroupId", "testGroupId");
+
+ Assert.AreEqual(msg.Facade.GroupId, "testGroupId");
+ }
// TODO: Test conversion for other properties