public void AddFileAndCheckAccessibility_Locked() { IScrImportSet importSettings = Cache.ServiceLocator.GetInstance <IScrImportSetFactory>().Create(); Cache.LanguageProject.TranslatedScriptureOA.ImportSettingsOC.Add(importSettings); importSettings.ImportTypeEnum = TypeOfImport.Other; var fileOs = new MockFileOS(); try { FileUtils.Manager.SetFileAdapter(fileOs); string filename = fileOs.MakeSfFile("EPH", @"\c 1", @"\v 1"); fileOs.LockFile(filename); IScrImportFileInfo info = importSettings.AddFile(filename, ImportDomain.Main, null, null); Assert.AreEqual(Encoding.ASCII, info.FileEncoding); Assert.AreEqual(1, importSettings.GetImportFiles(ImportDomain.Main).Count); StringCollection notFound; Assert.IsFalse(importSettings.ImportProjectIsAccessible(out notFound)); Assert.AreEqual(1, notFound.Count); Assert.AreEqual(filename, notFound[0]); } finally { FileUtils.Manager.Reset(); } }
public void Setup() { m_origOs = (IFileOS)ReflectionHelper.GetField(typeof(FileUtils), "s_fileos"); // Need a new one each time so tests don't affect each other. m_fileOs = new MockFileOS(); ReflectionHelper.SetField(typeof(FileUtils), "s_fileos", m_fileOs); }
public override void TestSetup() { base.TestSetup(); m_mockFileOs = new MockFileOS(); FileUtils.Manager.SetFileAdapter(m_mockFileOs); string fileGen = m_mockFileOs.MakeSfFile("GEN", @"\c 1"); string fileRev = m_mockFileOs.MakeSfFile("REV", @"\c 1"); m_settings = m_scr.FindOrCreateDefaultImportSettings(TypeOfImport.Other); m_settings.AddFile(fileGen, ImportDomain.Main, null, null); m_settings.AddFile(fileRev, ImportDomain.Main, null, null); m_dlg = new DummyImportDialog(null, Cache, m_settings); }
public void ImportProjectIsAccessible_Paratext6() { IScrImportSet importSettings = Cache.ServiceLocator.GetInstance <IScrImportSetFactory>().Create(); Cache.LanguageProject.TranslatedScriptureOA.ImportSettingsOC.Add(importSettings); importSettings.ImportTypeEnum = TypeOfImport.Paratext6; var fileOs = new MockFileOS(); MockParatextHelper ptHelper = null; var saveScriptureProvider = ScriptureProvider._scriptureProvider; ScriptureProvider._scriptureProvider = new MockScriptureProvider(); try { FileUtils.Manager.SetFileAdapter(fileOs); ptHelper = new MockParatextHelper(); ParatextHelper.Manager.SetParatextHelperAdapter(ptHelper); string paratextDir = ScriptureProvider.SettingsDirectory; Assert.NotNull(paratextDir, "Setup problem - ProjectsDirectory should not be null."); ptHelper.AddProject("TEV", null, null, true, false, "100001"); fileOs.AddExistingFile(Path.Combine(paratextDir, "TEV.ssf")); importSettings.ParatextScrProj = "KAM"; importSettings.ParatextBTProj = "TEV"; StringCollection projectsNotFound; Assert.IsFalse(importSettings.ImportProjectIsAccessible(out projectsNotFound)); Assert.AreEqual(1, projectsNotFound.Count); Assert.AreEqual("KAM", projectsNotFound[0]); fileOs.AddExistingFile(Path.Combine(paratextDir, "KAM.ssf")); ptHelper.AddProject("KAM", null, null, true, false, "000101"); Assert.IsTrue(importSettings.ImportProjectIsAccessible(out projectsNotFound)); } finally { ParatextHelper.Manager.Reset(); if (ptHelper != null) { ptHelper.Dispose(); } FileUtils.Manager.Reset(); ScriptureProvider._scriptureProvider = saveScriptureProvider; } }
/// <summary> /// Unit test helper to set up environment in which to test EnsureValidLinkedFilesFolderCore. /// testToExecute takes (string defaultFolder, FdoCache cache). /// </summary> public void EnsureValidLinkedFilesFolderCore_TestHelper(Action <string> testToExecute) { var defaultFolder = FileUtils.ChangePathToPlatform("/ProjectDir/LinkedFiles"); var fileOs = new MockFileOS(); try { FileUtils.Manager.SetFileAdapter(fileOs); testToExecute(defaultFolder); } finally { FileUtils.Manager.Reset(); } }
/// ------------------------------------------------------------------------------------- /// <summary> /// Create a CmPicture from a dummy file. /// </summary> /// ------------------------------------------------------------------------------------- protected override void CreateTestData() { base.CreateTestData(); m_fileOs = new MockFileOS(); FileUtils.Manager.SetFileAdapter(m_fileOs); m_fileOs.AddFile(m_internalPath, "123", Encoding.Default); m_pictureFactory = Cache.ServiceLocator.GetInstance <ICmPictureFactory>(); m_pict = m_pictureFactory.Create(m_internalPath, Cache.TsStrFactory.MakeString("Test picture", Cache.DefaultVernWs), CmFolderTags.LocalPictures); Assert.IsNotNull(m_pict); Assert.AreEqual("Test picture", m_pict.Caption.VernacularDefaultWritingSystem.Text); Assert.AreEqual(m_internalPath, m_pict.PictureFileRA.InternalPath, "Internal path not set correctly"); Assert.AreEqual(m_internalPath, m_pict.PictureFileRA.AbsoluteInternalPath, "Files outside LangProject.LinkedFilesRootDir are stored as absolute paths"); }
public override void TestSetup() { base.TestSetup(); m_fileOs = new MockFileOS(); FileUtils.Manager.SetFileAdapter(m_fileOs); m_projectName = Cache.ProjectId.Handle; m_pathExtension = ".desktop"; var pathDesktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var pathTmp = Path.GetTempPath(); m_expectedPathDesktop = Path.Combine(pathDesktop, m_projectName + m_pathExtension); m_expectedPathTmp = Path.Combine(pathTmp, m_projectName + m_pathExtension); // Create these directories in mock filesystem m_fileOs.ExistingDirectories.Add(pathDesktop); m_fileOs.ExistingDirectories.Add(pathTmp.TrimEnd( new char[] { Path.DirectorySeparatorChar })); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Test to see if the ImportProjectIsAccessible method works for projects other than /// Paratext 6. /// </summary> /// ------------------------------------------------------------------------------------ private void ImportProjectIsAccessible_helper(IScrImportSet importSettings) { var fileOs = new MockFileOS(); try { FileUtils.Manager.SetFileAdapter(fileOs); string scrFile1 = fileOs.MakeSfFile("GEN", @"\p", @"\c 1", @"\v 1", @"\v 2"); string scrFile2 = fileOs.MakeSfFile("EXO", @"\p", @"\c 1", @"\v 1", @"\v 2"); string scrFile3 = fileOs.MakeSfFile("LEV", @"\p", @"\c 1", @"\v 1", @"\v 2"); string btFileDef = fileOs.MakeSfFile("GEN", @"\p", @"\c 3", @"\v 1"); string btFileSpan = fileOs.MakeSfFile("GEN", @"\p", @"\c 3", @"\v 1"); string annotFileCons = fileOs.MakeSfFile("GEN", @"\p", @"\c 3", @"\v 1"); string annotFileTrans = fileOs.MakeSfFile("GEN", @"\p", @"\c 3", @"\v 1"); importSettings.AddFile(scrFile1, ImportDomain.Main, null, null); importSettings.AddFile(scrFile2, ImportDomain.Main, null, null); importSettings.AddFile(scrFile3, ImportDomain.Main, null, null); importSettings.AddFile(btFileDef, ImportDomain.BackTrans, null, null); importSettings.AddFile(btFileSpan, ImportDomain.BackTrans, "es", null); var annDefnRepo = Cache.ServiceLocator.GetInstance <ICmAnnotationDefnRepository>(); importSettings.AddFile(annotFileCons, ImportDomain.Annotations, null, annDefnRepo.ConsultantAnnotationDefn); importSettings.AddFile(annotFileTrans, ImportDomain.Annotations, null, annDefnRepo.TranslatorAnnotationDefn); StringCollection filesNotFound; Assert.IsTrue(importSettings.ImportProjectIsAccessible(out filesNotFound)); Assert.AreEqual(0, filesNotFound.Count); importSettings.SaveSettings(); // Blow away some project files: should still return true, but should // report missing files. FileUtils.Delete(scrFile2); FileUtils.Delete(scrFile3); FileUtils.Delete(btFileDef); FileUtils.Delete(annotFileCons); FileUtils.Delete(annotFileTrans); // Now that we've saved the settings, we'll "revert" in order to re-load from the DB importSettings.RevertToSaved(); Assert.IsTrue(importSettings.ImportProjectIsAccessible(out filesNotFound)); Assert.AreEqual(5, filesNotFound.Count); Assert.IsTrue(filesNotFound.Contains(scrFile2)); Assert.IsTrue(filesNotFound.Contains(scrFile3)); Assert.IsTrue(filesNotFound.Contains(btFileDef)); Assert.IsTrue(filesNotFound.Contains(annotFileCons)); Assert.IsTrue(filesNotFound.Contains(annotFileTrans)); importSettings.SaveSettings(); // Blow away the rest of the project files: should return false and report // missing files. FileUtils.Delete(scrFile1); FileUtils.Delete(btFileSpan); // Now that we've saved the settings, we'll "revert" in order to re-load from the DB importSettings.RevertToSaved(); Assert.IsFalse(importSettings.ImportProjectIsAccessible(out filesNotFound)); Assert.AreEqual(7, filesNotFound.Count); Assert.IsTrue(filesNotFound.Contains(scrFile1)); Assert.IsTrue(filesNotFound.Contains(scrFile2)); Assert.IsTrue(filesNotFound.Contains(scrFile3)); Assert.IsTrue(filesNotFound.Contains(btFileDef)); Assert.IsTrue(filesNotFound.Contains(btFileSpan)); Assert.IsTrue(filesNotFound.Contains(annotFileCons)); Assert.IsTrue(filesNotFound.Contains(annotFileTrans)); } finally { FileUtils.Manager.Reset(); } }
public void Setup() { m_fileOs = new MockFileOS(); FileUtils.Manager.SetFileAdapter(m_fileOs); }
public void Setup() { m_defaultBepType = FDOBackendProviderType.kXML; m_mockFileOs = new MockFileOS(); FileUtils.Manager.SetFileAdapter(m_mockFileOs); }