예제 #1
0
        public ConvertImage_AcceptanceTest()
        {
            _container = CreateDIContainer();
            _dbContext = _container.Resolve <ImageEditAppContext>();
            var editTaskProgressRepository = _container.Resolve <IImgTaskProgressRepository>();
            var editTaskResultRepository   = _container.Resolve <IImgTaskResultRepository>();
            var imgRepository = new ImgRepository(_dbContext, _container.Resolve <IMapper>());
            var mqService     = _container.Resolve <IMessageQueueService>();

            _editTaskService          = new ImgTaskService(imgRepository, mqService, editTaskProgressRepository, editTaskResultRepository);
            _imgTaskProgressService   = new ImgTaskProgressService(editTaskProgressRepository);
            _editImgTaskResultService = new ImgTaskResultService(editTaskResultRepository);

            _container.Resolve <IBusControl>().Start(TimeSpan.FromSeconds(20));
        }
예제 #2
0
        public void CreateEditTask_when_called_sends_valid_msgs()
        {
            ImgTaskFactoryRegistry.Init(typeof(CoreModule).Assembly);

            //mocks
            var imgRepo             = new Mock <IImgRepository>();
            var mqService           = new Mock <IMessageQueueService>();
            var imgTaskProgressRepo = new Mock <IImgTaskProgressRepository>();
            var imgTaskResultRepo   = new Mock <IImgTaskResultRepository>();
            //

            var service         = new ImgTaskService(imgRepo.Object, mqService.Object, imgTaskProgressRepo.Object, imgTaskResultRepo.Object);
            var img             = new MemoryStream(new byte[] { 1, 2, 3 });
            var creationParams1 = new ImgTaskCreationParams()
            {
                TaskName = "convert", TaskParams = new Dictionary <string, string>()
                {
                    { "to", "jpg" }
                }
            };
            var creationParams2 = new ImgTaskCreationParams()
            {
                TaskName   = "convert",
                TaskParams = new Dictionary <string, string>()
                {
                    { "to", "pdf" }
                }
            };

            var progressId = service.CreateEditTask(img, "jpg", new ImgTaskCreationParams[] { creationParams1, creationParams2 });

            imgTaskProgressRepo.Verify(f => f.AddTaskProgress(It.IsAny <ImgTaskProgress>()), Times.Exactly(2));
            mqService.Verify(f => f.QueueTaskAsync(It.IsAny <ImgTask>()), Times.Exactly(2));
            imgRepo.Verify(f => f.AddImg(It.IsAny <Img>()), Times.Once());
            imgTaskResultRepo.Verify(f => f.AddTaskResult(It.Is <ImgTaskResult>(result => result.ImgStream == null)), Times.Exactly(2));
        }
예제 #3
0
 public ImgTaskController(ImgTaskService imgTaskService)
 {
     _imgTaskService = imgTaskService;
 }