コード例 #1
0
        public async Task ShouldCloseConnectionOnAuthorizationException()
        {
            var connection       = new Mock <IConnection>();
            var releaseManager   = new Mock <IConnectionReleaseManager>();
            var pooledConnection = new PooledConnection(connection.Object, releaseManager.Object);

            var resultException = await Record.ExceptionAsync(async() => await pooledConnection.OnErrorAsync(new AuthorizationException("Authorization error")));

            releaseManager.Verify(rm => rm.MarkConnectionsForReauthorization(pooledConnection), Times.Once());
        }
コード例 #2
0
        public async Task ShouldReturnConnectionErrorOnErrorAsync(Type exceptionType)
        {
            var connection       = new Mock <IConnection>().Object;
            var releaseManager   = new Mock <IConnectionReleaseManager>().Object;
            var pooledConnection = new PooledConnection(connection, releaseManager);
            var exception        = (Exception)Activator.CreateInstance(exceptionType);

            var resultingException = await Record.ExceptionAsync(async() => await pooledConnection.OnErrorAsync(exception));

            Assert.Equal(resultingException.GetType(), typeof(ServiceUnavailableException));
        }
コード例 #3
0
        public async Task ShouldHaveUnrecoverableErrorOnErrorAsync(Type exceptionType)
        {
            var connection       = new Mock <IConnection>().Object;
            var releaseManager   = new Mock <IConnectionReleaseManager>().Object;
            var pooledConnection = new PooledConnection(connection, releaseManager);
            var exception        = (Exception)Activator.CreateInstance(exceptionType, "Testing exception");

            var resultingException = await Record.ExceptionAsync(async() => await pooledConnection.OnErrorAsync(exception));

            Assert.Equal(resultingException.GetType(), exceptionType);
            Assert.True(pooledConnection.HasUnrecoverableError);
        }