public void PrinterMapping_WithInvalidPrinter_SelectsDefaultProfile() { _settings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("InvalidPrinter", "Profile1")); ConversionWorkflow workflow = WorkflowFactory.CreateWorkflow(_testHelper.JobInfo, _settings); Assert.AreEqual(_settings.ConversionProfiles[0], workflow.Job.Profile, "Default profile should have been mapped"); }
public void PrinterMapping_WithProfileMappingWithOtherCasing_PreselectsProfile() { _settings.ApplicationSettings.PrinterMappings.Add(new PrinterMapping("pdfcreator", "Profile1")); ConversionWorkflow workflow = WorkflowFactory.CreateWorkflow(_testHelper.JobInfo, _settings); Assert.AreEqual(_settings.ConversionProfiles[1], workflow.Job.Profile, "Profile1 should have been mapped"); }
public void CreateConversionWorkflowTest_NoMapping_TwoProfiles_NoneIsDefault_NoneIsLastUsedProfile_ReturnWorkflowWithFirstProfile() { _settings.ApplicationSettings.LastUsedProfileGuid = "NoneOfTheProfileGuids"; _settings.ConversionProfiles.Add(_autosaveProfile); _settings.ConversionProfiles.Add(_interactiveProfile); _workflow = WorkflowFactory.CreateWorkflow(_th.JobInfo, _settings); Assert.AreEqual(_autosaveProfile, _workflow.Job.Profile, "Wrong Profile in Job of workflow."); }
public void CreateConversionWorkflowTest_PrinterMappingToProfile_ReturnWorkflowWithMappedProfile() { _settings.ApplicationSettings.PrinterMappings.Add(_autosaveProfileMapping); _settings.ApplicationSettings.PrinterMappings.Add(_interactiveProfileMapping); _settings.ConversionProfiles.Add(_autosaveProfile); _settings.ConversionProfiles.Add(_interactiveProfile); _th.JobInfo.SourceFiles[0].PrinterName = _autosaveProfileMapping.PrinterName; _workflow = WorkflowFactory.CreateWorkflow(_th.JobInfo, _settings); Assert.AreEqual(_autosaveProfile, _workflow.Job.Profile, "Wrong Profile in Job of workflow."); }
public void CreateConversionWorkflowTest_PrinterIsNotListedInMapping_ReturnWorkflowWithDefaultProfile() { _settings.ApplicationSettings.PrinterMappings.Add(_autosaveProfileMapping); _settings.ApplicationSettings.PrinterMappings.Add(_interactiveProfileMapping); _settings.ConversionProfiles.Add(_autosaveProfile); //For this test the default profile must not be the first in list! _interactiveProfile.Guid = "DefaultGuid"; _settings.ConversionProfiles.Add(_interactiveProfile); _th.JobInfo.SourceFiles[0].PrinterName = "PrinterNameNotInMapping"; _workflow = WorkflowFactory.CreateWorkflow(_th.JobInfo, _settings); Assert.AreEqual(_interactiveProfile, _workflow.Job.Profile, "Wrong Profile in Job of workflow."); }
public void SetUp() { _jobInfo = new JobInfo(); _jobInfo.Metadata = new Metadata(); _job = new Job(_jobInfo, _profile, new JobTranslations(), new Accounts()); _profileChecker = Substitute.For <IProfileChecker>(); _profileChecker.ProfileCheck(Arg.Any <ConversionProfile>(), Arg.Any <Accounts>()).Returns(_validActionResult); _query = Substitute.For <ITargetFileNameComposer>(); _jobRunner = Substitute.For <IJobRunner>(); _jobDataUpdater = Substitute.For <IJobDataUpdater>(); _errorNotifier = Substitute.For <IErrorNotifier>(); _workflow = new ConversionWorkflow(_profileChecker, _query, _jobRunner, _jobDataUpdater, _errorNotifier); }
/// <summary> /// Does the actual conversion process of the job /// </summary> private void DoConversion() { DisableIrrelevantProfileSettings(); _job.JobInfo.Metadata = _metadata; try { if (JobInfo.SourceFiles.Count != 0) { Logger.Trace("COM: Creating workflow"); _workflow = new ComWorkflow(_job, SettingsHelper.Settings); Logger.Trace("COM: Running workflow"); _workflow.RunWorkflow(); if (_workflow.WorkflowStep != WorkflowStep.Finished) { IsFinished = true; if (_workflow.WorkflowStep == WorkflowStep.AbortedByUser) { Logger.Info("COM: The job '{0}' was aborted by the user.", _workflow.Job.JobInfo.Metadata.Title, _workflow.WorkflowStep); } else { Logger.Error("COM: The job '{0}' terminated at step {1} and did not end successfully.", _workflow.Job.JobInfo.Metadata.Title, _workflow.WorkflowStep); } } else { IsFinished = true; IsSuccessful = true; } } else { IsFinished = true; Logger.Info("COM: JobInfo has no source files and will be skipped"); } } catch (Exception e) { IsFinished = true; throw new COMException(e.Message); } }
public void CreateConversionWorkflowTest_PrinterMappingToInvalidProfile_ReturnWorkflowWithDefaultProfile() { _settings.ApplicationSettings.PrinterMappings.Add(_autosaveProfileMapping); _settings.ApplicationSettings.PrinterMappings.Add(_interactiveProfileMapping); const string somePrinterName = "somePrinterName"; const string someProfileGuid = "someProfileNotInProfilesListGuid"; var somePrinterMapping = new PrinterMapping(somePrinterName, someProfileGuid); _settings.ApplicationSettings.PrinterMappings.Add(somePrinterMapping); _settings.ConversionProfiles.Add(_autosaveProfile); //For this test the default profile must not be the first in list! _interactiveProfile.Guid = "DefaultGuid"; _settings.ConversionProfiles.Add(_interactiveProfile); _th.JobInfo.SourceFiles[0].PrinterName = somePrinterName; _workflow = WorkflowFactory.CreateWorkflow(_th.JobInfo, _settings); Assert.AreEqual(_interactiveProfile, _workflow.Job.Profile, "Wrong Profile in Job of workflow."); }
public void SetUp() { _jobInfo = new JobInfo { Metadata = new Metadata { Title = "Test" } }; _profile = new ConversionProfile(); _job = new Job(_jobInfo, _profile, new JobTranslations(), new Accounts()); _job.OutputFiles.Add("X:\\test.pdf"); _profileChecker = Substitute.For <IProfileChecker>(); _profileChecker.CheckJob(Arg.Any <Job>()).Returns(_validActionResult); _query = Substitute.For <ITargetFileNameComposer>(); _jobRunner = Substitute.For <IJobRunner>(); _jobDataUpdater = Substitute.For <IJobDataUpdater>(); _notificationService = Substitute.For <INotificationService>(); _workflow = new AutoSaveWorkflow(_jobDataUpdater, _jobRunner, _profileChecker, _query, null, _notificationService); }
/// <summary> /// Process a single job /// </summary> /// <param name="jobInfo">The jobinfo to process</param> /// <returns>True if the job was processed. If the user decided to manage the print jobs instead, this returns false</returns> private void ProcessJob(IJobInfo jobInfo) { _logger.Trace("Creating job workflow"); ConversionWorkflow cw = WorkflowFactory.CreateWorkflow(jobInfo, SettingsHelper.Settings); _logger.Trace("Running workflow"); cw.RunWorkflow(); if (cw.WorkflowStep != WorkflowStep.Finished) { if (cw.WorkflowStep == WorkflowStep.AbortedByUser) { _logger.Info("The job '{0}' was aborted by the user.", cw.Job.JobInfo.Metadata.Title, cw.WorkflowStep); } else { _logger.Error("The job '{0}' terminated at step {1} and did not end successfully.", cw.Job.JobInfo.Metadata.Title, cw.WorkflowStep); } } }
public void CreateConversionWorkflowTest_SingleProfileInteractive_ReturnInteractiveWorkflow() { _settings.ConversionProfiles.Add(_interactiveProfile); _workflow = WorkflowFactory.CreateWorkflow(_th.JobInfo, _settings); Assert.IsInstanceOf <InteractiveWorkflow>(_workflow, "Wrong type of workflow."); }