Пример #1
0
        public void RunsExecuteOnExit_OnRegularExit()
        {
            var subBackup = new FakeScmBackup();
            var context   = new FakeContext();
            var logger    = new FakeLogger();

            var sut = new ErrorHandlingScmBackup(subBackup, logger, context);

            sut.Run();

            Assert.True(logger.ExecutedOnExit);
            Assert.True(logger.ExecuteOnExit_Successful);
        }
Пример #2
0
        public void RunsExecuteOnExit_WhenExceptionIsThrown()
        {
            var subBackup = new FakeScmBackup();

            subBackup.ToThrow = new Exception("!!");

            var context = new FakeContext();
            var logger  = new FakeLogger();

            var sut = new ErrorHandlingScmBackup(subBackup, logger, context);

            sut.Run();

            Assert.True(logger.ExecutedOnExit);
            Assert.False(logger.ExecuteOnExit_Successful);
        }
Пример #3
0
        static (FakeLogger FakeLogger, ErrorHandlingScmBackup ErrorHandlingScmBackup) BuildFakeScmBackup()
        {
            var ex        = new Exception("!!!");
            var subBackup = new FakeScmBackup();

            subBackup.ToThrow = ex;

            var conf = new FakeConfigReader();

            conf.SetDefaultFakeConfig();

            var context = new FakeContext();

            var logger = new FakeLogger();

            var backup = new ErrorHandlingScmBackup(subBackup, logger, context);

            return(logger, backup);
        }
        public void LogsWhenExceptionIsThrown()
        {
            var ex        = new Exception("!!!");
            var subBackup = new FakeScmBackup();

            subBackup.ToThrow = ex;

            var conf = new FakeConfigReader();

            conf.SetDefaultFakeConfig();

            var context = new FakeContext();

            var logger = new FakeLogger();

            var backup = new ErrorHandlingScmBackup(subBackup, logger, context);

            backup.Run();

            Assert.True(logger.LoggedSomething);
            Assert.Equal(ErrorLevel.Error, logger.LastErrorLevel);
            // we can't check whether the last exception is the exception from above,
            // because there are more logging outputs after the exception.
        }