public void Test_Run_Transaction_Mode_None() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.00"), $"test_v1_00.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_1)); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.01"), $"test_v1_01.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_2)); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.02"), $"test_v1_02.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_3)); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TransactionMode = TRANSACTION_MODE.NONE; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_1).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_2).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_3).ShouldBeTrue(); }
public void Test_Run_With_Target_Version_Skipped_Versions_Higher_Than_Target_Version() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.00"), $"test_v1_00.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_1)); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.01"), $"test_v1_01.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_2)); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.02"), $"test_v1_02.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_3)); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v2.00"), $"test_v2_00.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_4)); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.01"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_1).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_2).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_3).ShouldBeFalse(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_4).ShouldBeFalse(); }
public void Test_Verify() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.00"), $"test_v1_00.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_1)); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.01"), $"test_v1_01.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_2)); var configuration = _testConfiguration.GetFreshConfiguration(); var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.02"), $"test_v1_02.sql"), _testDataService.GetSqlForCreateDbObject(TEST_DBOBJECTS.DB_OBJECT_3)); //act configuration.IsVerifyOnly = true; configuration.IsAutoCreateDatabase = false; migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_1).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_2).ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, TEST_DBOBJECTS.DB_OBJECT_3).ShouldBeFalse(); }
public void Test_Run_Ok_With_Explicit_Transaction() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); var v1_00_transactionDirectory = Directory.CreateDirectory(Path.Combine(_testConfiguration.WorkspacePath, "v1.00", RESERVED_DIRECTORY_NAME.TRANSACTION)).FullName; _testDataService.CreateScriptFile(Path.Combine(v1_00_transactionDirectory, $"test_v1_00.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_00")); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); var v1_01_transactionDirectory = Directory.CreateDirectory(Path.Combine(_testConfiguration.WorkspacePath, "v0.01", RESERVED_DIRECTORY_NAME.TRANSACTION)).FullName; _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.01"), $"test_v1_01.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_01")); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); var v1_02_transactionDirectory = Directory.CreateDirectory(Path.Combine(_testConfiguration.WorkspacePath, "v0.02", RESERVED_DIRECTORY_NAME.TRANSACTION)).FullName; _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.02"), $"test_v1_02.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_02")); //act var configuration = _testConfiguration.GetFreshConfiguration(); var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_00").ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_01").ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_02").ShouldBeTrue(); }
public void Test_Run_All_Version_Scripts_Executed() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.00"), $"test_v1_00.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_00")); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.01"), $"test_v1_01.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_01")); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); _testDataService.CreateScriptFile(Path.Combine(Path.Combine(_testConfiguration.WorkspacePath, "v1.02"), $"test_v1_02.sql"), _testDataService.GetSqlForCreateDbObject($"test_v1_02")); //act var configuration = _testConfiguration.GetFreshConfiguration(); var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_00").ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_01").ShouldBeTrue(); _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "test_v1_02").ShouldBeTrue(); }
public void Test_Get_Latest_Version() { //act var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); //assert workspaceService.GetLatestVersion(_testConfiguration.WorkspacePath).ShouldBe("v1.02"); }
public void Test_Run_Database_Already_Updated() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.01"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); var versions = _testDataService.GetAllDbVersions(_testConfiguration.ConnectionString); versions.Count.ShouldBe(3); versions[0].Version.ShouldBe("v0.00"); versions[1].Version.ShouldBe("v1.00"); versions[2].Version.ShouldBe("v1.01"); migrationService.Run(); migrationService.Run(); versions.Count.ShouldBe(3); versions[0].Version.ShouldBe("v0.00"); versions[1].Version.ShouldBe("v1.00"); versions[2].Version.ShouldBe("v1.01"); }
public void Test_Increment_Minor_Version_With_Sql_File() { //arrange var workspace = @"c:\temp\yuniql"; var traceService = new Mock <ITraceService>(); var fileService = new Mock <IFileService>(); var directoryService = new Mock <IDirectoryService>(); directoryService.Setup(s => s.GetDirectories(workspace, "v*.*")).Returns(new string[] { @$ "{workspace}\v0.00", @$ "{workspace}\v0.02", //simulate an out of order list @$ "{workspace}\v0.01", } ); //act var sut = new WorkspaceService(traceService.Object, directoryService.Object, fileService.Object); var result = sut.IncrementMinorVersion(workspace, sqlFileName: "testscript.sql"); //assert result.ShouldBe("v0.03"); directoryService.Verify(s => s.GetDirectories(workspace, "v*.*")); directoryService.Verify(s => s.CreateDirectory(@$ "{workspace}\v0.03")); fileService.Verify(s => s.AppendAllText(@$ "{workspace}\v0.03\testscript.sql", @"")); }
public void Test_Vnext_Minor_Version() { //act var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); //assert Directory.Exists(Path.Combine(_testConfiguration.WorkspacePath, "v0.01")).ShouldBe(true); }
public void Test_Run_With_AutocreateDB() { //arrange var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); //act var configuration = _testConfiguration.GetFreshConfiguration(); var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbExist(_testConfiguration.ConnectionString).ShouldBeTrue(); }
public void Test_Bulk_Import_Csv_Files_In_NonVersion_Directories() { //arrange - prepare bulk destination table var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); string v100Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.00"); _testDataService.CreateScriptFile(Path.Combine(v100Directory, $"TestCsv.sql"), _testDataService.GetSqlForCreateBulkTable("TestCsv")); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.00"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "TestCsv").ShouldBeTrue(); //arrange - add new minor version with csv files v1.01 workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); string v101Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.01"); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(v101Directory, "TestCsv.csv")); //arrange - prepare bulk files in non-version directories string preDirectory = Path.Combine(_testConfiguration.WorkspacePath, RESERVED_DIRECTORY_NAME.PRE); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(preDirectory, "TestCsv.csv")); string draftDirectory = Path.Combine(_testConfiguration.WorkspacePath, RESERVED_DIRECTORY_NAME.DRAFT); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(draftDirectory, "TestCsv.csv")); string postDirectory = Path.Combine(_testConfiguration.WorkspacePath, RESERVED_DIRECTORY_NAME.POST); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(postDirectory, "TestCsv.csv")); //act configuration.TargetVersion = "v1.01"; migrationService.Run(); //assert var results = _testDataService.GetBulkTestData(_testConfiguration.ConnectionString, "TestCsv"); var testDataRows = new List <BulkTestDataRow> { new BulkTestDataRow { FirstName = "Jack", LastName = "Poole", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Diana", LastName = "Churchill", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Rebecca", LastName = "Lyman", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Sam", LastName = "Macdonald", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Matt", LastName = "Paige", BirthDate = new DateTime(1980, 1, 1) }, }; results.Count.ShouldBe(20); testDataRows.All(t => results.Exists(r => t.FirstName == r.FirstName && t.LastName == r.LastName && t.BirthDate == r.BirthDate )).ShouldBeTrue(); }
public void Test_Bulk_Import_With_Sequence_Schema_Table() { //arrange - prepare bulk destination table var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); string v100Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.00"); _testDataService.CreateScriptFile(Path.Combine(v100Directory, $"TestCsv.sql"), _testDataService.GetSqlForCreateBulkTable("TestCsv")); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.00"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "TestCsv").ShouldBeTrue(); //arrange - add new minor version with csv files workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); string v101Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.01"); //deliverately create csv files out of order File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(v101Directory, $"2.{_testDataService.SchemaName}.TestCsv.csv")); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(v101Directory, $"1.{_testDataService.SchemaName}.TestCsv.csv")); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsv.csv"), Path.Combine(v101Directory, $"3.{_testDataService.SchemaName}.TestCsv.csv")); //act configuration.TargetVersion = "v1.01"; migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "TestCsv").ShouldBeTrue(); var results = _testDataService.GetBulkTestData(_testConfiguration.ConnectionString, "TestCsv"); var testDataRows = new List <BulkTestDataRow> { new BulkTestDataRow { FirstName = "Jack", LastName = "Poole", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Diana", LastName = "Churchill", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Rebecca", LastName = "Lyman", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Sam", LastName = "Macdonald", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Matt", LastName = "Paige", BirthDate = new DateTime(1980, 1, 1) }, }; results.Count.ShouldBe(15); testDataRows.All(t => results.Exists(r => t.FirstName == r.FirstName && t.LastName == r.LastName && t.BirthDate == r.BirthDate )).ShouldBeTrue(); }
public void Test_Bulk_Import_Mismatch_Columns_But_Nullable() { //arrange - pre-create destination bulk tables var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); string v100Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.00"); _testDataService.CreateScriptFile(Path.Combine(v100Directory, $"TestCsvMismatchColumn.sql"), _testDataService.GetSqlForCreateBulkTable("TestCsvMismatchColumn")); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.00"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "TestCsvMismatchColumn").ShouldBeTrue(); //arrange - add new version with csv files workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); string v101Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.01"); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsvMismatchColumn.csv"), Path.Combine(v101Directory, "TestCsvMismatchColumn.csv")); //act - bulk load csv files configuration.TargetVersion = "v1.01"; migrationService.Run(); var results = _testDataService.GetBulkTestData(_testConfiguration.ConnectionString, "TestCsvMismatchColumn"); var testDataRows = new List <BulkTestDataRow> { new BulkTestDataRow { FirstName = "Jack", LastName = "Poole" }, new BulkTestDataRow { FirstName = "Diana", LastName = "Churchill" }, new BulkTestDataRow { FirstName = "Rebecca", LastName = "Lyman" }, new BulkTestDataRow { FirstName = "Sam", LastName = "Macdonald" }, new BulkTestDataRow { FirstName = "Matt", LastName = "Paige" }, }; results.Count.ShouldBe(5); testDataRows.All(t => results.Exists(r => t.FirstName == r.FirstName && t.LastName == r.LastName && !r.BirthDate.HasValue )).ShouldBeTrue(); }
public void Test_Bulk_Import_With_Utf8_Encoded_File() { //arrange - pre-create destination bulk tables var directoryService = new DirectoryService(); var fileService = new FileService(); var workspaceService = new WorkspaceService(_traceService, directoryService, fileService); workspaceService.Init(_testConfiguration.WorkspacePath); workspaceService.IncrementMajorVersion(_testConfiguration.WorkspacePath, null); string v100Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.00"); _testDataService.CreateScriptFile(Path.Combine(v100Directory, $"TestCsvUtf8.sql"), _testDataService.GetSqlForCreateBulkTable("TestCsvUtf8")); //act var configuration = _testConfiguration.GetFreshConfiguration(); configuration.TargetVersion = "v1.00"; var migrationService = _migrationServiceFactory.Create(configuration.Platform); migrationService.Run(); //assert _testDataService.CheckIfDbObjectExist(_testConfiguration.ConnectionString, "TestCsvUtf8").ShouldBeTrue(); //arrange - add new version with csv files workspaceService.IncrementMinorVersion(_testConfiguration.WorkspacePath, null); string v101Directory = Path.Combine(_testConfiguration.WorkspacePath, "v1.01"); File.Copy(Path.Combine(Path.Combine(Environment.CurrentDirectory, "Data"), "TestCsvUtf8.csv"), Path.Combine(v101Directory, "TestCsvUtf8.csv")); //act - bulk load csv files configuration.TargetVersion = "v1.01"; configuration.IsAutoCreateDatabase = true; migrationService.Run(); //assert var results = _testDataService.GetBulkTestData(_testConfiguration.ConnectionString, "TestCsvUtf8"); var testDataRows = new List <BulkTestDataRow> { new BulkTestDataRow { FirstName = "Allan", LastName = "Søgaard", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Martin", LastName = "Bæk", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Gitte", LastName = "Jürgensen", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Maria", LastName = "Østergård", BirthDate = new DateTime(1980, 1, 1) }, new BulkTestDataRow { FirstName = "Peter", LastName = "Langkjær", BirthDate = new DateTime(1980, 1, 1) }, }; results.Count.ShouldBe(5); testDataRows.All(t => results.Exists(r => t.FirstName == r.FirstName && t.LastName == r.LastName && t.BirthDate == r.BirthDate )).ShouldBeTrue(); }