diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2017-01-18 21:31:06 +0100 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2017-01-30 18:04:33 +0100 |
commit | 2e5e5f661c61f9523b84ec7407a159d13843d17c (patch) | |
tree | f0c67f07ed38b2b350aa2cdc3737bb14d1c12bfc | |
parent | 81e5c69e96e019642548877aa99634a4bdf8c2d2 (diff) |
add test for utf8 status
-rw-r--r-- | src/csharp/Grpc.Core.Tests/ClientServerTest.cs | 16 |
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) => |