public void DoWorkSetsCurrentTaskStateToCorrectValue(FfmpegJobModelState jobStatus, ExecutionState assertState) { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ObservableCollection <AudioDestinationFormat> >(), null, null)) .Returns(Guid.NewGuid()); FfmpegJobModel job = new FfmpegJobModel() { State = jobStatus, Tasks = new ObservableCollection <FfmpegTaskModel>() { new FfmpegTaskModel() { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\1" } } }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\sdfsdfsdf\\sdfgsdf"; sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.State, Is.EqualTo(assertState)); }
public void DoWorkCallSetsCurrentTaskStateToFailedIfExceptionOrrurs() { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ObservableCollection <AudioDestinationFormat> >(), null, null)) .Returns(Guid.NewGuid()); FFMpegClient.FfmpegJobModel job = new FFMpegClient.FfmpegJobModel() { State = FfmpegJobModelState.Done, Tasks = new ObservableCollection <FfmpegTaskModel>() { new FfmpegTaskModel() { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\1_64.mp3" } } }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\NOT ALIKE AT ALL"; // Forces exception sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.State, Is.EqualTo(ExecutionState.Failed)); }
public void DoWorkAddsCorrectNumberOfFilenamesToCurrentTask() { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(Guid.NewGuid()); FFMpegClient.FfmpegJobModel job = new FFMpegClient.FfmpegJobModel() { State = FfmpegJobModelState.Done, Tasks = new ObservableCollection <FfmpegTaskModel> { new FfmpegTaskModel { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\test.mp4" } } }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\sdfsdfsdf\\sdfgsdf"; sut.Assign(Task); sut.Pulse(Task); Assert.That(sut.GetStatus().CurrentTask.To.Files.Count, Is.EqualTo(1)); }
public void DoWorkSetsTargetFilesIfExecutionStateIsDone() { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(Guid.NewGuid()); var job = new FfmpegJobModel() { State = FfmpegJobModelState.Done, Tasks = new ObservableCollection <FfmpegTaskModel> { new FfmpegTaskModel { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\testfilename.mp4" } } }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\sdfsdfsdf\\sdfgsdf"; sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.To.Files, Is.Not.Empty); }
public void SetUp() { DynamicPlugin.ClearSiblings(FFMpeg.FFMpeg.Type); mockFFMPegService.Setup(m => m.GetNumberOfSupportedPlugins()).Returns(1); mockPresetProvider.Setup(m => m.AsList()).Returns(new List <FFMpegConfiguration> { new FFMpegConfiguration { Format = StateFormat.audio_od_standard, AudioDestinationsList = new ObservableCollection <AudioDestinationFormat> { new AudioDestinationFormat { AudioCodec = AudioDestinationFormatAudioCodec.MP3, Format = AudioDestinationFormatFormat.MP3, Bitrate = 64, Channels = AudioDestinationFormatChannels.Mono } } } }); Plugin = sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task = new ExecutionTask { From = new Essence() { Flags = StateFlags.None, Path = @"\\sdfsd\sdfsdf\sdfsfsd", Format = StateFormat.dv5p, AspectRatio = AspectRatio.ratio_16x9, Files = new List <EssenceFile> { "sdfsdfsdf.mov" }, Duration = 234234234, Attachments = new List <Attachment>() { new Attachment() { Type = AttachmentType.Audio, Path = @"\\sdfsd\sdfsdf\sdfsfsd.wav" } } }, To = new Essence() { Flags = StateFlags.AlternativeAudio, Path = @"\\sdfsdfsdf\sdgsdgsdg", Format = StateFormat.dv5p, AspectRatio = AspectRatio.ratio_16x9, Files = new List <EssenceFile>() }, PluginUrn = _pluginUrn }; }
public void DoWorkDoesNotSetTargetFilesIfExecutionStateIsNotDone(FfmpegJobModelState FfmpegJobModel) { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(Guid.NewGuid()); FFMpegClient.FfmpegJobModel job = new FFMpegClient.FfmpegJobModel() { State = FfmpegJobModel }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.To.Files, Is.Empty); }
public void DoWorkDoesNotCallFFMPegServicePostIfForeignIsKeyNotEmpty(string foreignKey) { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <IList <AudioDestinationFormat> >(), null, null)) .Returns(Guid.NewGuid()); FFMpegClient.FfmpegJobModel job = new FFMpegClient.FfmpegJobModel() { State = FfmpegJobModelState.InProgress }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); Task.ForeignKey = foreignKey; sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); sut.Assign(Task); sut.Pulse(Task); mockFFMPegService.Verify(m => m.PostAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ObservableCollection <AudioDestinationFormat> >(), null, null), Times.Never); }
public void DoWorkCallsFFMPegServiceMuxPostIfForeignKeyIsNullOrEmpty(string foreignKey) { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(Guid.NewGuid()); FFMpegClient.FfmpegJobModel job = new FFMpegClient.FfmpegJobModel() { State = FfmpegJobModelState.InProgress }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); Task.ForeignKey = foreignKey; sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); sut.Assign(Task); sut.Pulse(Task); mockFFMPegService.Verify(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void DoWorkCallSetsCurrentTaskStateToFailedIfExceptionOrrurs() { mockFFMPegService = new Mock <IFFMpegService>(); mockFFMPegService.Setup(m => m.PostMuxAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(Guid.NewGuid()); var job = new FfmpegJobModel() { State = FfmpegJobModelState.Done, }; mockFFMPegService.Setup(m => m.GetAudioJob(It.IsAny <Guid>())).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\NOT ALIKE AT ALL"; // Forces exception sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.State, Is.EqualTo(ExecutionState.Failed)); }
public void IntroOutroTest(StateFlags flags) { Task.From.Attachments = new List <Attachment>(); string introArg = null; if (flags.HasFlag(StateFlags.Intro)) { introArg = "D:\\temp\\intro.wav"; Task.From.Attachments.Add(new Attachment { Type = AttachmentType.Intro, Path = introArg, Arguments = new Dictionary <string, string>() { { "Duration", "10000" } } }); Task.To.Flags |= StateFlags.Intro; } string outroArg = null; if (flags.HasFlag(StateFlags.Outro)) { outroArg = "D:\\temp\\outro.wav"; Task.From.Attachments.Add(new Attachment { Type = AttachmentType.Outro, Path = outroArg, Arguments = new Dictionary <string, string>() { { "Duration", "10000" } } }); Task.To.Flags |= StateFlags.Outro; } Assert.That(sut.CheckAndEstimate(Task)); mockFFMPegService = new Mock <IFFMpegService>(MockBehavior.Strict); var jobGuid = Guid.NewGuid(); mockFFMPegService.Setup(m => m.PostAudioJob(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ObservableCollection <AudioDestinationFormat> >(), introArg, outroArg)) .Returns(jobGuid); FfmpegJobModel job = new FfmpegJobModel() { State = FfmpegJobModelState.Done, Tasks = new ObservableCollection <FfmpegTaskModel>() { new FfmpegTaskModel() { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\1_64.mp3" }, new FfmpegTaskModel() { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\1_192.mp3" }, new FfmpegTaskModel() { DestinationFilename = "\\\\sdfsdfsdf\\sdfgsdf\\1_64.mp4" } } }; mockFFMPegService.Setup(m => m.GetAudioJob(jobGuid)).Returns(job); sut = new FFMpeg.FFMpeg(_pluginUrn, MockTimeProvider.Object, Logging, mockFFMPegService.Object, mockPresetProvider.Object); Task.To.Path = "\\\\sdfsdfsdf\\sdfgsdf"; sut.Assign(Task); sut.Pulse(Task); Assert.That(Task.To.Files, Is.Not.Empty); }