Create Unit Tests for SendMessage and NotifyClientTermination (#3)
diff --git a/tests/RpcClientTest.cs b/tests/RpcClientTest.cs
index 94a43c2..dd5b322 100644
--- a/tests/RpcClientTest.cs
+++ b/tests/RpcClientTest.cs
@@ -21,6 +21,8 @@
using rmq = global::apache.rocketmq.v1;
using grpc = global::Grpc.Core;
using System;
+using pb = global::Google.Protobuf;
+
namespace org.apache.rocketmq
{
@@ -80,7 +82,6 @@
[TestMethod]
public void testHeartbeat()
{
-
var request = new rmq::HeartbeatRequest();
request.ClientId = clientId;
request.ProducerData = new rmq::ProducerData();
@@ -97,6 +98,55 @@
var response = rpcClient.heartbeat(request, callOptions).GetAwaiter().GetResult();
}
+ [TestMethod]
+ public void testSendMessage()
+ {
+ var request = new rmq::SendMessageRequest();
+ request.Message = new rmq::Message();
+ byte[] body = new byte[1024];
+ for (int i = 0; i < body.Length; i++)
+ {
+ body[i] = (byte)'x';
+ }
+ request.Message.Body = pb::ByteString.CopyFrom(body);
+ request.Message.Topic = new rmq::Resource();
+ request.Message.Topic.ResourceNamespace = resourceNamespace;
+ request.Message.Topic.Name = topic;
+ request.Message.UserAttribute.Add("k", "v");
+ request.Message.UserAttribute.Add("key", "value");
+ request.Message.SystemAttribute = new rmq::SystemAttribute();
+ request.Message.SystemAttribute.Tag = "TagA";
+ request.Message.SystemAttribute.Keys.Add("key1");
+ request.Message.SystemAttribute.MessageId = "message-id-1";
+
+ var metadata = new grpc::Metadata();
+ Signature.sign(clientConfig, metadata);
+
+ var deadline = DateTime.UtcNow.AddSeconds(3);
+ var callOptions = new grpc::CallOptions(metadata, deadline);
+
+ var response = rpcClient.sendMessage(request, callOptions).GetAwaiter().GetResult();
+ }
+
+ // Remove the Ignore annotation if server has fixed
+ [Ignore]
+ [TestMethod]
+ public void testNotifyClientTermiantion()
+ {
+ var request = new rmq::NotifyClientTerminationRequest();
+ request.ClientId = clientId;
+ request.ProducerGroup = new rmq::Resource();
+ request.ProducerGroup.ResourceNamespace = resourceNamespace;
+ request.ProducerGroup.Name = group;
+
+ var metadata = new grpc::Metadata();
+ Signature.sign(clientConfig, metadata);
+
+ var deadline = DateTime.UtcNow.AddSeconds(3);
+ var callOptions = new grpc::CallOptions(metadata, deadline);
+ var response = rpcClient.notifyClientTermination(request, callOptions).GetAwaiter().GetResult();
+ }
+
private static string resourceNamespace = "MQ_INST_1080056302921134_BXuIbML7";
private static string topic = "cpp_sdk_standard";