aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2017-01-18 21:31:06 +0100
committerGravatar Jan Tattermusch <jtattermusch@google.com>2017-01-30 18:04:33 +0100
commit2e5e5f661c61f9523b84ec7407a159d13843d17c (patch)
treef0c67f07ed38b2b350aa2cdc3737bb14d1c12bfc
parent81e5c69e96e019642548877aa99634a4bdf8c2d2 (diff)
add test for utf8 status
-rw-r--r--src/csharp/Grpc.Core.Tests/ClientServerTest.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
index dcdddc769e..6bf9756962 100644
--- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
+++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
@@ -336,6 +336,22 @@ namespace Grpc.Core.Tests
}
[Test]
+ public void StatusDetailIsUtf8()
+ {
+ // some japanese and chinese characters
+ var nonAsciiString = "\u30a1\u30a2\u30a3 \u62b5\u6297\u662f\u5f92\u52b3\u7684";
+ helper.UnaryHandler = new UnaryServerMethod<string, string>(async (request, context) =>
+ {
+ context.Status = new Status(StatusCode.Unknown, nonAsciiString);
+ return "";
+ });
+
+ var ex = Assert.Throws<RpcException>(() => Calls.BlockingUnaryCall(helper.CreateUnaryCall(), "abc"));
+ Assert.AreEqual(StatusCode.Unknown, ex.Status.StatusCode);
+ Assert.AreEqual(nonAsciiString, ex.Status.Detail);
+ }
+
+ [Test]
public void ServerCallContext_PeerInfoPresent()
{
helper.UnaryHandler = new UnaryServerMethod<string, string>(async (request, context) =>