コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: FFMpgMuxTest.cs プロジェクト: uberEpicDonkey/marvin
        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);
        }
コード例 #3
0
 public FfmpegJobModel GetAudioJob(Guid id)
 {
     return(Retry(() =>
     {
         var statusTask = _statusClient.GetAsync(id);
         Task.WaitAll(statusTask);
         FfmpegJobModel result = statusTask.Result;
         return result;
     }));
 }
コード例 #4
0
ファイル: FFMpgMuxTest.cs プロジェクト: uberEpicDonkey/marvin
        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));
        }
コード例 #5
0
        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);
        }