示例#1
0
        public void ExecuteFinishStepTest()
        {
            //Arrange
            const EncoderState encoderState = EncoderState.Cancelled;
            const string       fileHash     = "fileHash";
            const string       errorMessage = "errorMessage";

            var pipelineStep = new FinishStep(_pipelineMediator.Object, _restClient.Object, _tempFileManager.Object);
            var stepData     = new UploadStepData()
            {
                EncoderState = encoderState,
                FileHash     = fileHash,
                ErrorMessage = errorMessage
            };

            pipelineStep.SetData(stepData);


            //Act
            pipelineStep.Execute(It.IsAny <CancellationTokenSourceWrapper>());

            //Assert
            _tempFileManager.Verify(m => m.DeleteAllTempFiles());
            _restClient.Verify(m => m.FinishTask(encoderState, fileHash, errorMessage), Times.Once());
        }
        public void SendDataFromUploadTest()
        {
            //Arrange
            var stepData = new UploadStepData();

            //Act
            _mediator.Send(stepData, _uplodStep.Object);

            //Assert
            _finishStep.Verify(m => m.SetData(stepData));
        }
示例#3
0
        public override void Execute(CancellationTokenSourceWrapper tokenSource)
        {
            UploadStepData nextStepData;
            string         filePath = _tempFileManager.GetEncodingTempFilePath();

            // Uploads processed file
            try
            {
                StorageFile storageFile;

                using (Stream stream = _fileWrapper.OpenRead(filePath))
                {
                    storageFile = _fileSystem.UploadArtifactFromStreamAsync(
                        new StorageFile(stream, StepData.ContentType)
                    {
                        UserId = _settings.BackendId
                    }).Result;
                }

                nextStepData = new UploadStepData
                {
                    EncoderState = EncoderState.Completed,
                    FileId       = storageFile.Id
                };
            }
            catch (AggregateException ex)
            {
                Trace.TraceError("Failed to upload processed file: {0}", ex);

                nextStepData = new UploadStepData
                {
                    EncoderState = EncoderState.Failed,
                    ErrorMessage = ex.GetBaseException().Message
                };
            }

            Mediator.Send(nextStepData, this);
        }