Пример #1
0
        public void FinishExistVideoTest()
        {
            //Arrange
            var videoMsg      = new VideoMessage();
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            _videoRepository.Setup(m => m.ExistsEncodedVideo(It.IsAny <string>())).Returns(true);

            var uploadInfo = new UploadInformation()
            {
                DownloadInformation = new DownloadInformation()
                {
                    QueueInformation = new QueueInformation()
                    {
                        VideoMessage = videoMsg
                    }
                }
            };

            //Act
            finishProcess.ProcessMethod(uploadInfo, new CancellationToken());

            //Assert
            _videoRepository.Verify(m => m.SetEncodingState(It.IsAny <string>(), EncodingState.InProcess, EncodingStage.CleanUp, null), Times.Once());
            _videoRepository.Verify(m => m.ExistsEncodedVideo(It.IsAny <string>()), Times.Once());
            _fileSystem.Verify(m => m.DirectoryDelete(It.IsAny <string>()), Times.Never());
            _queueVideoRepository.Verify(m => m.DeleteMessage(videoMsg));
            _videoRepository.Verify(m => m.SetEncodingState(It.IsAny <string>(), EncodingState.Successed, EncodingStage.CleanUp, null), Times.Once());
        }
Пример #2
0
        public void FinishNotExistVideoTest()
        {
            //Arrange
            var videoMsg = new VideoMessage();
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            _videoRepository.Setup(m => m.ExistsEncodedVideo(It.IsAny<string>())).Returns(false);

            var uploadInfo = new UploadInformation()
            {
                DownloadInformation = new DownloadInformation()
                {
                    QueueInformation = new QueueInformation()
                    {
                        VideoMessage = videoMsg
                    }
                }
            };

            //Act
            finishProcess.ProcessMethod(uploadInfo, new CancellationToken());

            //Assert
            _videoRepository.Verify(m => m.SetEncodingState(It.IsAny<string>(),EncodingState.InProcess, EncodingStage.CleanUp, null), Times.Once());
            _videoRepository.Verify(m=>m.ExistsEncodedVideo(It.IsAny<string>()), Times.Once());
            _fileSystem.Verify(m => m.DirectoryDelete(It.IsAny<string>()), Times.Once());
            _queueVideoRepository.Verify(m => m.DeleteMessage(videoMsg));
            _videoRepository.Verify(m => m.SetEncodingState(It.IsAny<string>(), EncodingState.Successed, EncodingStage.CleanUp, null), Times.Once());
        }
    public bool Commit <T>(UploadInformation information)
        where T : class, IUploadEntity
    {
        var uploads = GetStoredUploads(information.UniqueId);
        var entity  = db.Set <T>().Include(e => e.Uploads)
                      .Single(e => e.UniqueId == information.UniqueId);

        entity.Uploads.AddRange(uploads);
Пример #4
0
        public void FinishExceptionHandlerTest()
        {
            //Arrange
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            var uploadInfo = new UploadInformation()
            {
                DownloadInformation = new DownloadInformation()
                {
                    QueueInformation = new QueueInformation()
                    {
                        VideoMessage = new VideoMessage()
                    }
                }
            };

            //Act
            finishProcess.ExceptionHandler(new Exception(), uploadInfo);

            //Asert
            _videoRepository.Verify(m => m.SetEncodingState(It.IsAny <string>(), EncodingState.Failed, EncodingStage.CleanUp, null), Times.Once());
        }
Пример #5
0
        public void FinishSuccessfulTest()
        {
            //Arrange
            var videoMssg     = new VideoMessage();
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            var uploadInfo = new UploadInformation()
            {
                DownloadInformation = new DownloadInformation()
                {
                    QueueInformation = new QueueInformation()
                    {
                        VideoMessage = new VideoMessage()
                    }
                }
            };

            //Act
            var obj = finishProcess.ProcessMethod(uploadInfo, new CancellationToken());

            //Assert
            Assert.AreEqual(null, obj);
        }
Пример #6
0
        public void FinishSuccessfulTest()
        {
            //Arrange
            var videoMssg = new VideoMessage();
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            var uploadInfo = new UploadInformation()
                                 {
                                     DownloadInformation = new DownloadInformation()
                                                               {
                                                                   QueueInformation = new QueueInformation()
                                                                                          {
                                                                                              VideoMessage = new VideoMessage()
                                                                                          }
                                                               }
                                 };

            //Act
            var obj = finishProcess.ProcessMethod(uploadInfo, new CancellationToken());

            //Assert
            Assert.AreEqual(null, obj);
        }
Пример #7
0
		private bool GetUploadInfo(DataSet dset, string nodeName)
		{
			DataRow uploadRow;
			try
			{
				// The name of the column that relates the upload table
				// to the patch_file/complete_file table.
				string idColumnName = nodeName + "_Id";

				// Get the row from the upload table that's joined to
				// the (only) row in the patch_file/complete_file table.
				IEnumerable<DataRow> uploadRows =
					from uRow in dset.Tables["upload"].AsEnumerable()
					where !uRow.IsNull(idColumnName)
					join fRow in dset.Tables[nodeName].AsEnumerable()
						on uRow.Field<int>(idColumnName) equals fRow.Field<int>(idColumnName)
					select uRow;

				// There should be only one row.
				uploadRow = uploadRows.Single();
			}
			catch (Exception e)
			{
				Logger.LogError(e);
				return false;
			}

			if (uploadRow.IsNull("key"))
			{
				// There should always be something in the "key" field.
				return false;
			}

			// Get the upload parameters.
			UploadInfo = new UploadInformation(uploadRow);
			return true;
		}
Пример #8
0
        public void FinishExceptionHandlerTest()
        {
            //Arrange
            var finishProcess = new FinishProcess(_queueVideoRepository.Object, _videoRepository.Object, _fileSystem.Object);

            var uploadInfo = new UploadInformation()
                                 {
                                     DownloadInformation = new DownloadInformation()
                                                               {
                                                                   QueueInformation = new QueueInformation()
                                                                                          {
                                                                                              VideoMessage = new VideoMessage()
                                                                                          }
                                                               }
                                 };

            //Act
             finishProcess.ExceptionHandler(new Exception(), uploadInfo);

            //Asert
             _videoRepository.Verify(m => m.SetEncodingState(It.IsAny<string>(),EncodingState.Failed, EncodingStage.CleanUp, null), Times.Once());
        }