public ApiCallerTests() { var reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); source1 = reader.FakeConfig.Sources.First(); source2 = new ConfigSource(); source2.Title = "title2"; source2.Hoster = "fake"; reader.FakeConfig.Sources.Add(source2); this.context = new FakeContext(); this.context.Config = reader.ReadConfig(); list1 = new List <HosterRepository>(); list1.Add(new HosterRepository("foo1", "foo1", "http://foo1", ScmType.Git)); list2 = new List <HosterRepository>(); list2.Add(new HosterRepository("foo2", "foo2", "http://foo2", ScmType.Git)); hac = new FakeHosterApiCaller(); hac.Lists.Add(source1, list1); hac.Lists.Add(source2, list2); }
public ValidatingConfigReaderTests() { reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); logger = new FakeLogger(); validator = new FakeHosterValidator(); sut = new ValidatingConfigReader(reader, logger, validator); }
public FakeContext() { this.VersionNumber = new Version(0, 0, 0); this.VersionNumberString = this.VersionNumber.ToString(); this.AppTitle = "SCM Backup"; this.UserAgent = "SCM-Backup"; var reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); this.Config = reader.ReadConfig(); }
public void UsesConfigFromReader() { var reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); var sut = new Context(reader); Assert.NotNull(sut.Config); // This checks reference equality (not content), but in this case it's good enough. // We just want to know whether the context returns the config that came from the IConfigReader. Assert.Equal(reader.FakeConfig, sut.Config); }
public void DoesNotThrowExceptions() { // most of the Context class is .NET Framework functionality (which we don't want to test again), // but at least we want to be noticed when anything throws an exception var reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); var sut = new Context(reader); var version = sut.VersionNumber; string versionString = sut.VersionNumberString; string appTitle = sut.AppTitle; }
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 LogsErrorWhenConfigSourceTitlesContainDuplicates() { reader = new FakeConfigReader(); reader.SetDefaultFakeConfig(); var source = new ConfigSource(); source.Title = "title"; source.Type = "fake"; reader.FakeConfig.Sources.Add(source); logger = new FakeLogger(); validator = new FakeHosterValidator(); sut = new ValidatingConfigReader(reader, logger, validator); var result = sut.ReadConfig(); Assert.True(logger.LoggedSomething); Assert.Equal(ErrorLevel.Error, logger.LastErrorLevel); Assert.Null(result); }
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. }