public async Task TestHealthCheckIsHealthyIfCanConnect()
        {
            var mockClient = new Mock <IKeyStoreClient>();

            mockClient.Setup(x => x.BasicPing.PingWithHttpMessagesAsync(null, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HttpOperationResponse <PingResponse>());
            var check  = new KeyServiceConnectionCheck(mockClient.Object, null);
            var result = await check.CheckHealthAsync(null, CancellationToken.None);

            Assert.AreEqual(HealthStatus.Healthy, result.Status);
        }
        public async Task TestHealthCheckIsUnhealthyIfExceptionIsThrown()
        {
            var mockClient = new Mock <IKeyStoreClient>();

            mockClient.Setup(x => x.BasicPing.PingWithHttpMessagesAsync(null, It.IsAny <CancellationToken>()))
            .Throws <Exception>();
            var mockLogger = new Mock <ILogger <KeyServiceConnectionCheck> >();
            var check      = new KeyServiceConnectionCheck(mockClient.Object, mockLogger.Object);
            var result     = await check.CheckHealthAsync(null, CancellationToken.None);

            Assert.AreEqual(HealthStatus.Unhealthy, result.Status);
        }