aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2015-07-20 22:12:53 -0700
committerGravatar Jan Tattermusch <jtattermusch@google.com>2015-07-20 22:12:53 -0700
commit998eb9bcaf8990a9c7ec2709550fb70c72c430dc (patch)
treee1729dc9fd4d1c9eaadfa688779a96d44fb2e99b /src/csharp/Grpc.Core.Tests/ClientServerTest.cs
parent5bbd8186cc1d4b22a8021bdacb5d243c5c621ef3 (diff)
populate server context
Diffstat (limited to 'src/csharp/Grpc.Core.Tests/ClientServerTest.cs')
-rw-r--r--src/csharp/Grpc.Core.Tests/ClientServerTest.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
index e797dd82f2..05e33f1589 100644
--- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
+++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
@@ -183,6 +183,19 @@ namespace Grpc.Core.Tests
}
[Test]
+ public void AsyncUnaryCall_EchoMetadata()
+ {
+ var metadata = new Metadata
+ {
+ new Metadata.Entry("asciiHeader", "abcdefg"),
+ new Metadata.Entry("binaryHeader-bin", new byte[] { 1, 2, 3, 0, 0xff } ),
+ };
+ var call = new Call<string, string>(ServiceName, EchoMethod, channel, metadata);
+ var result = Calls.AsyncUnaryCall(call, "ABC", CancellationToken.None).Result;
+ Assert.AreEqual("ABC", result);
+ }
+
+ [Test]
public void UnaryCall_DisposedChannel()
{
channel.Dispose();
@@ -216,10 +229,17 @@ namespace Grpc.Core.Tests
private static async Task<string> EchoHandler(ServerCallContext context, string request)
{
+ foreach (Metadata.Entry metadataEntry in context.RequestHeaders)
+ {
+ Console.WriteLine("Echoing header " + metadataEntry.Key + " as trailer");
+ context.ResponseTrailers.Add(metadataEntry);
+ }
+
if (request == "THROW")
{
throw new Exception("This was thrown on purpose by a test");
}
+
return request;
}