diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2017-12-06 19:40:49 +0100 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2017-12-07 18:11:17 +0100 |
commit | 05455715db5917762cb4d55970f0cadc87f02385 (patch) | |
tree | 39b48d3f9601ffb216c4b9314d6ecf7279d52522 /src/csharp | |
parent | 84d78acfa41a1263ba75b46dd4e857e02ea2cb96 (diff) |
split out channel connectivity test
Diffstat (limited to 'src/csharp')
-rw-r--r-- | src/csharp/Grpc.Core.Tests/ChannelConnectivityTest.cs | 86 | ||||
-rw-r--r-- | src/csharp/Grpc.Core.Tests/ClientServerTest.cs | 29 | ||||
-rw-r--r-- | src/csharp/tests.json | 1 |
3 files changed, 87 insertions, 29 deletions
diff --git a/src/csharp/Grpc.Core.Tests/ChannelConnectivityTest.cs b/src/csharp/Grpc.Core.Tests/ChannelConnectivityTest.cs new file mode 100644 index 0000000000..a43040f01a --- /dev/null +++ b/src/csharp/Grpc.Core.Tests/ChannelConnectivityTest.cs @@ -0,0 +1,86 @@ +#region Copyright notice and license + +// Copyright 2017 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#endregion + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Grpc.Core; +using Grpc.Core.Internal; +using Grpc.Core.Profiling; +using Grpc.Core.Utils; +using NUnit.Framework; + +namespace Grpc.Core.Tests +{ + public class ChannelConnectivityTest + { + const string Host = "127.0.0.1"; + + MockServiceHelper helper; + Server server; + Channel channel; + + [SetUp] + public void Init() + { + helper = new MockServiceHelper(Host); + server = helper.GetServer(); + server.Start(); + channel = helper.GetChannel(); + } + + [TearDown] + public void Cleanup() + { + channel.ShutdownAsync().Wait(); + server.ShutdownAsync().Wait(); + } + + [Test] + public async Task Channel_WaitForStateChangedAsync() + { + helper.UnaryHandler = new UnaryServerMethod<string, string>((request, context) => + { + return Task.FromResult(request); + }); + + Assert.ThrowsAsync(typeof(TaskCanceledException), + async () => await channel.WaitForStateChangedAsync(channel.State, DateTime.UtcNow.AddMilliseconds(10))); + + var stateChangedTask = channel.WaitForStateChangedAsync(channel.State); + + await Calls.AsyncUnaryCall(helper.CreateUnaryCall(), "abc"); + + await stateChangedTask; + Assert.AreEqual(ChannelState.Ready, channel.State); + } + + [Test] + public async Task Channel_ConnectAsync() + { + await channel.ConnectAsync(); + Assert.AreEqual(ChannelState.Ready, channel.State); + + await channel.ConnectAsync(DateTime.UtcNow.AddMilliseconds(1000)); + Assert.AreEqual(ChannelState.Ready, channel.State); + } + } +} diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs index 90dd365b07..331c3321e1 100644 --- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs +++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs @@ -373,34 +373,5 @@ namespace Grpc.Core.Tests }); Assert.AreEqual("PASS", Calls.BlockingUnaryCall(helper.CreateUnaryCall(), "abc")); } - - [Test] - public async Task Channel_WaitForStateChangedAsync() - { - helper.UnaryHandler = new UnaryServerMethod<string, string>((request, context) => - { - return Task.FromResult(request); - }); - - Assert.ThrowsAsync(typeof(TaskCanceledException), - async () => await channel.WaitForStateChangedAsync(channel.State, DateTime.UtcNow.AddMilliseconds(10))); - - var stateChangedTask = channel.WaitForStateChangedAsync(channel.State); - - await Calls.AsyncUnaryCall(helper.CreateUnaryCall(), "abc"); - - await stateChangedTask; - Assert.AreEqual(ChannelState.Ready, channel.State); - } - - [Test] - public async Task Channel_ConnectAsync() - { - await channel.ConnectAsync(); - Assert.AreEqual(ChannelState.Ready, channel.State); - - await channel.ConnectAsync(DateTime.UtcNow.AddMilliseconds(1000)); - Assert.AreEqual(ChannelState.Ready, channel.State); - } } } diff --git a/src/csharp/tests.json b/src/csharp/tests.json index 82573edecb..469328af1a 100644 --- a/src/csharp/tests.json +++ b/src/csharp/tests.json @@ -14,6 +14,7 @@ "Grpc.Core.Tests.CallCancellationTest", "Grpc.Core.Tests.CallCredentialsTest", "Grpc.Core.Tests.CallOptionsTest", + "Grpc.Core.Tests.ChannelConnectivityTest", "Grpc.Core.Tests.ChannelCredentialsTest", "Grpc.Core.Tests.ChannelOptionsTest", "Grpc.Core.Tests.ChannelTest", |