Пример #1
0
        private IHealthCheck BuildHealthCheckAndSetExpectations(bool userFoundInRole, bool rowsReturned)
        {
            DbConnection connection = m_MockRepository.StrictMock <DbConnection>();
            DbCommand    command    = m_MockRepository.DynamicMock <DbCommand>();
            DbDataReader dataReader = m_MockRepository.StrictMock <DbDataReader>();

            IHealthCheck healthCheck = SqlServerStorageContainerUserInRoleHealthCheck.Create(connection);

            using (m_MockRepository.Record())
            {
                Expect.Call(connection.CreateCommand()).Return(command);
                Expect.Call(command.ExecuteReader()).Return(dataReader);
                Expect.Call(dataReader.Read()).Return(rowsReturned);
                Expect.Call(((IDisposable)dataReader).Dispose);

                if (rowsReturned)
                {
                    Expect.Call(dataReader.GetBoolean(0)).Return(userFoundInRole);
                }
            }

            m_MockRepository.ReplayAll();
            return(healthCheck);
        }
Пример #2
0
        public void InvalidOperationExceptionIsHandledCorrectly()
        {
            const string exceptionMessage       = "An invalid operation was attempted.";
            DbConnection connection             = m_MockRepository.StrictMock <DbConnection>();
            IHealthCheck healthCheck            = SqlServerStorageContainerUserInRoleHealthCheck.Create(connection);
            InvalidOperationException exception = m_MockRepository.StrictMock <InvalidOperationException>();

            using (m_MockRepository.Record())
            {
                Expect.Call(connection.CreateCommand()).Throw(exception);
                Expect.Call(exception.Message).Return(exceptionMessage);
                Expect.Call(connection.ConnectionString).Return("SampleConnectionString");

                m_MockRepository.ReplayAll();
            }

            IHealthCheckResult result = healthCheck.Execute();

            Assert.IsFalse(result.Passed);
            StringAssert.Contains(result.Message, "An exception occured opening the connection to the database:");
            StringAssert.Contains(result.Message, exceptionMessage);

            m_MockRepository.VerifyAll();
        }