public void AddDatabase_NoDatabases_AddsDatabaseConfig() { // Arrange var config = new HarnessConfiguration { Databases = new List <DatabaseConfig>() }; var expected = new HarnessConfiguration { Databases = new List <DatabaseConfig> { new DatabaseConfig { DatabaseName = "test" } } }; // Act config.AddDatabase("test"); // Assert Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer()); }
public void GetMongoConfiguration_GivenValidJson_ReturnsExpectedSettings() { // Arrange var testFilePath = "anyFilePath.json"; var fakeFileSystem = Substitute.For <IFileSystem>(); fakeFileSystem .ReadAllText(Arg.Any <string>()) .Returns(this.TestSettingsString); fakeFileSystem .FileExists(Arg.Any <string>()) .Returns(true); fakeFileSystem .GetFileExtension(testFilePath) .Returns(".json"); var expected = this.TestSettings; var classUnderTest = new SettingsLoader(fakeFileSystem); // Act var result = classUnderTest.GetMongoConfiguration(testFilePath); // Assert Assert.Equal(expected, result, Comparers.HarnessConfigurationComparer()); }
public void SetConventions_ValidConfigAndConventionPack_AddsConventionsToConfig() { // Arrange var pack = new ConventionPack { new CamelCaseElementNameConvention() }; var config = new HarnessConfiguration { Databases = new List <DatabaseConfig> { new DatabaseConfig { ConnectionString = "connString", DatabaseName = "dbName", DropFirst = true, } } }; var expected = new HarnessConfiguration { Databases = new List <DatabaseConfig> { new DatabaseConfig { ConnectionString = "connString", DatabaseName = "dbName", DropFirst = true, } }, Conventions = new ConventionConfig { Name = "conventions", ConventionPack = pack, Filter = x => true } }; // Act config.SetConventions(pack, x => true); // Assert Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer()); }
public void AddDatabase_ExisitngDatabase_AddsAdditionalDatabaseConfig() { // Arrange var config = new HarnessConfiguration { Conventions = null, Databases = new List <DatabaseConfig> { new DatabaseConfig { DatabaseName = "test" } } }; var expected = new HarnessConfiguration { Conventions = null, Databases = new List <DatabaseConfig> { new DatabaseConfig { DatabaseName = "test" }, new DatabaseConfig { DatabaseName = "second test" } } }; // Act config.AddDatabase("second test"); // Assert Assert.Equal(expected, config, Comparers.HarnessConfigurationComparer()); }
public void SettingsBuilderTest_ConventionPack() { // Arrange var expected = new HarnessConfiguration { Conventions = new ConventionConfig { Name = "conventions", ConventionPack = new ConventionPack { new CamelCaseElementNameConvention() }, Filter = x => true }, Databases = new List <DatabaseConfig> { new DatabaseConfig { CollectionNameSuffix = "CS-1", ConnectionString = "connString-1", DatabaseName = "DB-1", DropFirst = true, Collections = new List <CollectionConfig> { new CollectionConfig { CollectionName = "C-1", DataFileLocation = "file-1", DropFirst = true }, new CollectionConfig { CollectionName = "C-2", DataFileLocation = "file-2", DropFirst = true } } }, new DatabaseConfig { CollectionNameSuffix = "CS-2", ConnectionString = "connString-2", DatabaseName = "DB-2", DropFirst = true, Collections = new List <CollectionConfig> { new CollectionConfig { CollectionName = "C-3", DataFileLocation = "file-3", DropFirst = true }, new CollectionConfig { CollectionName = "C-4", DataFileLocation = "file-4", DropFirst = true } } } } }; // Act var result = new SettingsBuilder() .AddConvention(new ConventionPack { new CamelCaseElementNameConvention() }, x => true) .AddDatabase("DB-1") .WithConnectionString("connString-1") .WithCollectionNameSuffix("CS-1") .DropDatabaseFirst() .AddCollection("C-1", true, "file-1") .AddCollection("C-2", true, "file-2") .AddDatabase("DB-2") .WithConnectionString("connString-2") .WithCollectionNameSuffix("CS-2") .DropDatabaseFirst() .AddCollection("C-3", true, "file-3") .AddCollection("C-4", true, "file-4") .Build(); // Assert Assert.Equal(expected, result, Comparers.HarnessConfigurationComparer()); }