public void InstallationPath_WithNoPdfArchitectInstalled_ReturnsNull() { var factory = new PdfArchitectMockRegistryFactory(); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock); Assert.IsNull(path); }
public void Installed_WithNotPdfArchitect_ReturnsFalse() { var factory = new PdfArchitectMockRegistryFactory(); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock); Assert.IsFalse(isInstalled); }
public void InstallationPath_WithPdfArchitect3WithShortExeNameInstalled_ReturnsCorrectPath() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architect.exe", false); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock); Assert.AreEqual(@"C:\Program Files\PDF Architect 3\architect.exe", path); }
public void InstallationPath_WithPdfArchitect2InstalledWow64_ReturnsCorrectPath() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files (x86)\PDF Architect 2", "PDF Architect 2.exe", true); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock); Assert.AreEqual(@"C:\Program Files (x86)\PDF Architect 2\PDF Architect 2.exe", path); }
public void Installed_WithPdfArchitect3InstalledWow64_ReturnsTrue() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files (x86)\PDF Architect 3", "PDF Architect 3.exe", true); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock); Assert.IsTrue(isInstalled); }
public void Installed_WithPdfArchitect3WithInvalidExeName_ReturnsFalse() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architectXAZ.exe", false); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock); Assert.IsFalse(isInstalled); }
public void InstallationPath_WithJustManagementConsoleInstalled_ReturnsNull() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect Enterprise Server", @"C:\Program Files\PDF Architect Enterprise", "PDF Architect.exe", false); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock); Assert.IsNull(path); }
public void InstallationPath_WithIOException_DoesNotthrowException() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architect.exe", isWow64: false, throwsException: true); var registryMock = factory.BuildRegistry(throwException: true); var fileMock = factory.BuildFile(); var architectCheck = new PdfArchitectCheck(registryMock, fileMock); Assert.DoesNotThrow(() => architectCheck.GetInstallationPath()); }
public void InstallationPath_WithPdfArchitect2And3WowInstalled_ReturnsArchitect3Path() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files\PDF Architect 2", "PDF Architect 2.exe", false); factory.AddArchitectVersion("001", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "PDF Architect 3.exe", true); IRegistry registryMock = factory.BuildRegistry(); IFile fileMock = factory.BuildFile(); var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock); Assert.AreEqual(@"C:\Program Files\PDF Architect 3\PDF Architect 3.exe", path); }
public void InstallationPath_WithPdfArchitect2Installed_ReturnsCorrectPath() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files\PDF Architect 2", "PDF Architect 2.exe", false); var registryMock = factory.BuildRegistry(); var fileMock = factory.BuildFile(); var architectCheck = new PdfArchitectCheck(registryMock, fileMock); var path = architectCheck.GetInstallationPath(); Assert.AreEqual(@"C:\Program Files\PDF Architect 2\PDF Architect 2.exe", path); }
public void InstallationPath_WithPdfArchitect3WithInvalidExeName_ReturnsNull() { var factory = new PdfArchitectMockRegistryFactory(); factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architectXAZ.exe", false); var registryMock = factory.BuildRegistry(); var fileMock = factory.BuildFile(); var architectCheck = new PdfArchitectCheck(registryMock, fileMock); var path = architectCheck.GetInstallationPath(); Assert.IsNull(path); }
/// <summary> /// Open all files in the default viewer /// </summary> /// <param name="job">Job information</param> /// <returns>An ActionResult to determine the success and a list of errors</returns> public ActionResult ProcessJob(IJob job) { Logger.Debug("Launched Viewer-Action"); bool isPdfFile = job.Profile.OutputFormat == OutputFormat.Pdf || job.Profile.OutputFormat == OutputFormat.PdfA1B || job.Profile.OutputFormat == OutputFormat.PdfA2B || job.Profile.OutputFormat == OutputFormat.PdfX; if (!isPdfFile) return OpenJobOutput(job); if (job.Profile.OpenWithPdfArchitect) { string architectPath = null; try { architectPath = PdfArchitectCheck.InstallationPath(); } catch (Exception ex) { Logger.Warn(ex, "There was an exception while checking the PDF Architect path"); } if (architectPath != null) { Logger.Debug("Open with PDF Architect"); foreach (string file in job.OutputFiles) { try { var p = new Process(); p.StartInfo.FileName = architectPath; p.StartInfo.Arguments = "\"" + file + "\""; p.Start(); Logger.Trace("Openend: " + file); } catch { Logger.Error("PDF Architect could not open file: " + file); return new ActionResult(ActionId, 100); } } return new ActionResult(); } Logger.Warn("Open with PDF Architect selected, but not installed"); } if (!FileUtil.Instance.FileAssocHasOpen(".pdf")) { Logger.Error("No program associated with pdf."); if (RecommendPdfArchitect != null) { Logger.Info("Recommend PDF Architect."); RecommendPdfArchitect(this, null); return new ActionResult(); //return true, to avoid another message window. } } return OpenJobOutput(job); }