From a7ca8668872aab7ff302c464b929a06d29b8ddf9 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Tue, 8 Aug 2017 13:58:59 +0200
Subject: [PATCH] add test for shuttingdown event

---
 src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
index 0f3a82c605..fc9d5599f2 100644
--- a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
+++ b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
@@ -18,6 +18,7 @@
 
 using System;
 using System.Linq;
+using System.Threading;
 using Grpc.Core;
 using NUnit.Framework;
 
@@ -75,5 +76,19 @@ namespace Grpc.Core.Tests
             var parts = coreVersion.Split('.');
             Assert.AreEqual(3, parts.Length);
         }
+
+        [Test]
+        public void ShuttingDownEventIsFired()
+        {
+            var cts = new CancellationTokenSource();
+            var handler = new EventHandler((sender, args) => { cts.Cancel(); });
+            
+            GrpcEnvironment.ShuttingDown += handler;
+            var env = GrpcEnvironment.AddRef();
+            GrpcEnvironment.ReleaseAsync().Wait();
+            GrpcEnvironment.ShuttingDown -= handler;
+            
+            Assert.IsTrue(cts.Token.IsCancellationRequested);
+        }
     }
 }
-- 
GitLab