public void PredictMergedReferentials_Tests() { SampleData.ClearDatabaseThenImportDefaultProject(); // Exporter le projet var service = new ImportExportService(); var mre = new System.Threading.ManualResetEvent(false); Stream stream = null; Exception e = null; service.ExportProject(SampleData.GetProjectId(), d => { stream = d; mre.Set(); }, ex => { e = ex; mre.Set(); }); mre.WaitOne(); AssertExt.IsExceptionNull(e); Assert.IsNotNull(stream); stream.Position = 0; byte[] importData; using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream, StreamExtensions.BufferSize); importData = memoryStream.ToArray(); } // PredictMergedReferentials mre.Reset(); KProcess.Ksmed.Business.Dtos.Export.ProjectImport import = null; service.PredictMergedReferentialsProject(importData, pi => { import = pi; mre.Set(); }, ex => { e = ex; mre.Set(); }); mre.WaitOne(); AssertExt.IsExceptionNull(e); Assert.IsNotNull(import); }
public void ImportProjectServiceWithMigrationTest() { SampleData.ClearDatabaseThenImportDefaultProject(); var importData = PrepareImport(); var service = new ImportExportService(); var mre = new System.Threading.ManualResetEvent(false); KProcess.Ksmed.Business.Dtos.Export.ProjectImport projectImport = null; Exception e = null; int newProjectId = -1; service.PredictMergedReferentialsProject(importData, pi => { projectImport = pi; service.ImportProject(pi, false, TestContext.DeploymentDirectory, p => { newProjectId = p.ProjectId; mre.Set(); }, ex => { e = ex; mre.Set(); }); }, ex => { e = ex; mre.Set(); }); mre.WaitOne(); AssertExt.IsExceptionNull(e); Assert.IsNotNull(projectImport); Assert.IsTrue(projectImport.ExportedProject.Project.Label.EndsWith(" migré")); // Récupérer le projet depuis la base et tester var prepareService = new PrepareService(); mre.Reset(); ProjectsData data = null; prepareService.GetProjects(d => { data = d; mre.Set(); }, ex => { e = ex; mre.Set(); }); mre.WaitOne(); AssertExt.IsExceptionNull(e); var project = data.Projects.First(p => p.ProjectId == newProjectId); Assert.IsTrue(project.Label.EndsWith(" migré")); }