Ejemplo n.º 1
0
        public void TestIndex_ShouldCallCloudinaryFactoryGetCloudinary(string userId, string pictureUrl)
        {
            // Act
            var mockedUserService = new Mock <IUserService>();

            mockedUserService.Setup(s => s.GetUserById(It.IsAny <string>()))
            .Returns(new User {
                ProfileImageUrl = pictureUrl
            });

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var mockedCloudinaryFactory = new Mock <ICloudinaryFactory>();

            var mockedViewModelFactory = new Mock <IViewModelFactory>();

            mockedViewModelFactory.Setup(f => f.CreateUploadViewModel(It.IsAny <Cloudinary>(), It.IsAny <string>()))
            .Returns((Cloudinary c, string imageUrl) => new UploadViewModel(c, imageUrl));

            var controller = new UploadController(mockedUserService.Object,
                                                  mockedAuthenticationProvider.Object,
                                                  mockedCloudinaryFactory.Object,
                                                  mockedViewModelFactory.Object);


            // Act
            controller.Index();

            // Assert
            mockedCloudinaryFactory.Verify(f => f.GetCloudinary(), Times.Once);
        }
Ejemplo n.º 2
0
        public async Task UploadToFolderSidecarFile_UpdateMainItemWithSidecarRef()
        {
            // it should add a reference to the main item
            var controller = new UploadController(_import, new AppSettings {
                UseDiskWatcher = false
            },
                                                  new FakeSelectorStorage(_iStorage), _query,
                                                  new FakeIRealtimeConnectionsService(), new FakeIWebLogger(),
                                                  new FakeIMetaExifThumbnailService())
            {
                ControllerContext = RequestWithSidecar(),
            };

            var dngSubPath = "/UploadToFolderSidecarFile.dng";
            await _query.AddItemAsync(
                new FileIndexItem(dngSubPath));

            var toPlaceSubPath = "/UploadToFolderSidecarFile.xmp";

            controller.ControllerContext.HttpContext.Request.Headers["to"] = toPlaceSubPath;             //Set header

            await controller.UploadToFolderSidecarFile();

            var queryResult = await _query.GetObjectByFilePathAsync(dngSubPath);

            var sidecarExtList = queryResult.SidecarExtensionsList.ToList();

            Assert.AreEqual(1, sidecarExtList.Count);
            Assert.AreEqual("xmp", sidecarExtList[0]);
        }
Ejemplo n.º 3
0
        public void TestPostIndex_ShouldCallUserServiceChangeProfilePicture(string userId, string pictureUrl)
        {
            // Act
            var mockedUserService = new Mock <IUserService>();

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var mockedCloudinaryFactory = new Mock <ICloudinaryFactory>();
            var mockedViewModelFactory  = new Mock <IViewModelFactory>();

            var controller = new UploadController(mockedUserService.Object,
                                                  mockedAuthenticationProvider.Object,
                                                  mockedCloudinaryFactory.Object,
                                                  mockedViewModelFactory.Object);

            var model = new UploadViewModel {
                ImageUrl = pictureUrl
            };

            // Act
            controller.Index(model);

            // Assert
            mockedUserService.Verify(s => s.ChangeProfilePicture(userId, pictureUrl), Times.Once);
        }
Ejemplo n.º 4
0
        public async Task UploadToFolder_DefaultFlow_ColorClass()
        {
            var controller = new UploadController(_import, _appSettings,
                                                  new FakeSelectorStorage(_iStorage), _query,
                                                  new FakeIRealtimeConnectionsService(), new FakeIWebLogger(),
                                                  new FakeIMetaExifThumbnailService())
            {
                ControllerContext = RequestWithFile(CreateAnImageColorClass.Bytes),
            };

            var toPlaceSubPath = "/color-class01.jpg";

            controller.ControllerContext.HttpContext.Request.Headers["to"] = toPlaceSubPath;             //Set header

            var actionResult = await controller.UploadToFolder()  as JsonResult;

            var list = actionResult.Value as List <ImportIndexItem>;

            Assert.AreEqual(ImportStatus.Ok, list.FirstOrDefault().Status);

            var fileSystemResult = _iStorage.ExistFile(toPlaceSubPath);

            Assert.IsTrue(fileSystemResult);

            var queryResult = _query.SingleItem(toPlaceSubPath);

            Assert.AreEqual("Sony", queryResult.FileIndexItem.Make);
            Assert.AreEqual(ColorClassParser.Color.Winner, queryResult.FileIndexItem.ColorClass);

            await _query.RemoveItemAsync(queryResult.FileIndexItem);
        }
Ejemplo n.º 5
0
        public void TestIndex_ShouldSetViewModelCorrectly(string userId, string pictureUrl)
        {
            // Act
            var mockedUserService = new Mock <IUserService>();

            mockedUserService.Setup(s => s.GetUserById(It.IsAny <string>()))
            .Returns(new User {
                ProfileImageUrl = pictureUrl
            });

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var mockedCloudinaryFactory = new Mock <ICloudinaryFactory>();

            var model = new UploadViewModel();

            var mockedViewModelFactory = new Mock <IViewModelFactory>();

            mockedViewModelFactory.Setup(f => f.CreateUploadViewModel(It.IsAny <Cloudinary>(), It.IsAny <string>()))
            .Returns(model);

            var controller = new UploadController(mockedUserService.Object,
                                                  mockedAuthenticationProvider.Object,
                                                  mockedCloudinaryFactory.Object,
                                                  mockedViewModelFactory.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.Index())
            .ShouldRenderDefaultView()
            .WithModel <UploadViewModel>(m => Assert.AreSame(model, m));
        }
Ejemplo n.º 6
0
        public ControllerTests()
        {
            _data             = new Mock <IDataAccessLayer>();
            _attributeMapper  = new Mock <AttributeViewModelMapper>();
            _datasetMapper    = new Mock <IDatasetViewModelMapper>();
            _browseCubeMapper = new Mock <IBrowseCubeViewModelMapper>();
            _querier          = new Mock <IStarSchemaQuerier>();
            _graphService     = new Mock <IGraphService>();
            _treeBuilder      = new Mock <IDimensionTreeBuilder>();
            _arMapper         = new Mock <IAssociationRuleToViewMapper>();
            _processor        = new Mock <IAssociationRulesTaskProcessor>();
            _discretizator    = new Mock <IDataDiscretizator>();
            _taskMapper       = new Mock <IMiningTaskViewModelMapper>();
            _validations      = new Mock <IInputValidations>();
            _handler          = new Mock <IFileHandler>();
            _builder          = new Mock <IStarSchemaBuilder>();

            _home = new HomeController();

            _bce = new BrowseCubeControllerEngine(_data.Object, _datasetMapper.Object, _browseCubeMapper.Object,
                                                  _querier.Object, _graphService.Object, _treeBuilder.Object, _arMapper.Object);
            _bc = new BrowseCubeController(_bce);

            _mre = new MinedResultsControllerEngine(_data.Object, _querier.Object, _processor.Object, _taskMapper.Object, _discretizator.Object, _treeBuilder.Object);
            _mr  = new MinedResultsController(_mre, _bce, _validations.Object);

            _uce = new UploadControllerEngine(_data.Object, _datasetMapper.Object, _attributeMapper.Object, _handler.Object, _builder.Object, _querier.Object);
            _uc  = new UploadController(_uce, _validations.Object);
        }
        public async Task When_uploading_a_file_that_is_not_a_zip()
        {
            var client    = new MemoryBlobClient();
            var store     = new InMemoryStreamStore();
            var validator = new ZipArchiveValidator(Encoding.UTF8);
            var resolver  = Resolve.WhenEqualToMessage(
                new RoadNetworkChangesArchiveCommandModule(
                    client,
                    store,
                    new FakeRoadNetworkSnapshotReader(),
                    validator,
                    SystemClock.Instance
                    )
                );
            var controller = new UploadController(
                Dispatch.Using(resolver),
                client)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext()
                }
            };
            var formFile = new FormFile(new MemoryStream(), 0L, 0L, "name", "name")
            {
                Headers = new HeaderDictionary(new Dictionary <string, StringValues>
                {
                    { "Content-Type", StringValues.Concat(StringValues.Empty, "application/octet-stream") }
                })
            };
            var result = await controller.Post(formFile);

            Assert.IsType <UnsupportedMediaTypeResult>(result);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// [异步async]上传文件
        /// </summary>
        /// <param name="localFile">本地待上传的文件名</param>
        /// <param name="saveKey">要保存的文件名称</param>
        /// <param name="token">上传凭证</param>
        /// <returns>上传文件后的返回结果</returns>
        public async Task <HttpResult> UploadFileAsync(string localFile, string saveKey, string token)
        {
            HttpResult result = new HttpResult();

            var fi = new FileInfo(localFile);

            if (fi.Length > PUT_THRESHOLD)
            {
                if (recordFile == null)
                {
                    string recordKey = ResumeHelper.GetDefaultRecordKey(localFile, saveKey);
                    recordFile = Path.Combine(UserEnv.GetHomeFolder(), recordKey);
                }
                if (upph == null)
                {
                    upph = new UploadProgressHandler(ResumableUploader.DefaultUploadProgressHandler);
                }

                if (upctl == null)
                {
                    upctl = new UploadController(ResumableUploader.DefaultUploadController);
                }

                ResumableUploader ru = new ResumableUploader(UPLOAD_FROM_CDN, CHUNK_UNIT);
                result = await ru.UploadFileAsync(localFile, saveKey, token, recordFile, upph, upctl);
            }
            else
            {
                FormUploader fu = new FormUploader(UPLOAD_FROM_CDN);
                result = await fu.UploadFileAsync(localFile, saveKey, token);
            }

            return(result);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// [异步async]上传文件
        /// </summary>
        /// <param name="localFile">本地待上传的文件名</param>
        /// <param name="saveKey">要保存的文件名称</param>
        /// <param name="token">上传凭证</param>
        /// <returns>上传文件后的返回结果</returns>
        public async Task <HttpResult> UploadFileAsync(StorageFile localFile, string saveKey, string token)
        {
            HttpResult result = new HttpResult();

            var fi = await localFile.GetBasicPropertiesAsync();

            if (fi.Size > (ulong)PUT_THRESHOLD)
            {
                if (recordFile == null)
                {
                    string recordKey = ResumeHelper.GetDefaultRecordKey(localFile.Path, saveKey);
                    recordFile = await(await UserEnv.GetHomeFolderAsync()).CreateFileAsync(recordKey, CreationCollisionOption.OpenIfExists);
                }
                if (upph == null)
                {
                    upph = new UploadProgressHandler(ResumableUploader.DefaultUploadProgressHandler);
                }

                if (upctl == null)
                {
                    upctl = new UploadController(ResumableUploader.DefaultUploadController);
                }

                ResumableUploader ru = new ResumableUploader(UPLOAD_FROM_CDN, CHUNK_UNIT);
                result = await ru.UploadFileAsync(localFile, saveKey, token, recordFile, upph, upctl);
            }
            else
            {
                FormUploader fu = new FormUploader(UPLOAD_FROM_CDN);
                result = await fu.UploadFileAsync(localFile, saveKey, token);
            }

            return(result);
        }
Ejemplo n.º 10
0
        public void Upload_WhenImageNullIsPassed_ShouldReturnUploadView()
        {
            // Arrange
            var autoMapperConfig = new AutoMapperConfig();

            autoMapperConfig.Execute(typeof(UploadController).Assembly);

            var carOffer          = new CarOffer();
            var carOfferViewModel = new CarOfferViewModel();
            var fileToPass        = new List <HttpPostedFileBase>();

            fileToPass.Add(null);

            var carOffersServiceMock = new Mock <ICarOffersService>();

            carOffersServiceMock.Setup(x => x.GetAll())
            .Returns(() => new List <CarOffer> {
                carOffer
            }.AsQueryable());

            var imageServiceMock = new Mock <IImageService>();
            var userServiceMock  = new Mock <IUserService>();
            UploadController uploadController = new UploadController(carOffersServiceMock.Object, imageServiceMock.Object, userServiceMock.Object);

            // Act & Assert
            uploadController.WithCallTo(x => x.Upload(carOfferViewModel, fileToPass)).ShouldRenderView("Upload");
        }
Ejemplo n.º 11
0
        public void Upload_WhenValidParametersArePased_ShouldReturnCorerectViewResultName()
        {
            // Arrange
            var autoMapperConfig = new AutoMapperConfig();

            autoMapperConfig.Execute(typeof(UploadController).Assembly);

            var carOffer = new CarOffer();

            var carOffersServiceMock = new Mock <ICarOffersService>();

            carOffersServiceMock.Setup(x => x.GetAll())
            .Returns(() => new List <CarOffer> {
                carOffer
            }.AsQueryable());

            var imageServiceMock = new Mock <IImageService>();
            var userServiceMock  = new Mock <IUserService>();
            UploadController uploadController = new UploadController(carOffersServiceMock.Object, imageServiceMock.Object, userServiceMock.Object);

            // Act
            ViewResult result = uploadController.Upload() as ViewResult;

            // Assert
            Assert.AreEqual(string.Empty, result.ViewName);
        }
Ejemplo n.º 12
0
        public void Upload_WhenValidParameterAreProvided_ShouldReturnTheDefaoultContreller()
        {
            // Arrange
            var autoMapperConfig = new AutoMapperConfig();

            autoMapperConfig.Execute(typeof(UploadController).Assembly);

            var carOffer          = new CarOffer();
            var carOfferViewModel = new CarOfferViewModel();
            var fileToPass        = new List <HttpPostedFileBase>();

            var carOffersServiceMock = new Mock <ICarOffersService>();

            carOffersServiceMock.Setup(x => x.GetAll())
            .Returns(() => new List <CarOffer> {
                carOffer
            }.AsQueryable());

            var imageServiceMock = new Mock <IImageService>();
            var userServiceMock  = new Mock <IUserService>();
            UploadController uploadController = new UploadController(carOffersServiceMock.Object, imageServiceMock.Object, userServiceMock.Object);

            // Act & Assert
            uploadController.WithCallTo(x => x.Upload(carOfferViewModel, fileToPass)).ShouldRedirectToRoute(string.Empty);
        }
Ejemplo n.º 13
0
        public async Task UploadToFolder_SidecarListShouldBeUpdated()
        {
            var controller = new UploadController(_import, _appSettings,
                                                  new FakeSelectorStorage(_iStorage), _query,
                                                  new FakeIRealtimeConnectionsService(), new FakeIWebLogger(),
                                                  new FakeIMetaExifThumbnailService())
            {
                ControllerContext = RequestWithFile(),
            };

            var toPlaceSubPath = "/test_sidecar.dng";
            var toPlaceXmp     = "/test_sidecar.xmp";

            await _iStorage.WriteStreamAsync(new MemoryStream(new byte[1]), toPlaceXmp);

            controller.ControllerContext.HttpContext.Request.Headers["to"] = toPlaceSubPath;             //Set header

            await controller.UploadToFolder();

            var queryResult = _query.SingleItem(toPlaceSubPath);

            var sidecarExtList = queryResult.FileIndexItem.SidecarExtensionsList.ToList();

            Assert.AreEqual(1, sidecarExtList.Count);
            Assert.AreEqual("xmp", sidecarExtList[0]);

            await _query.RemoveItemAsync(queryResult.FileIndexItem);
        }
Ejemplo n.º 14
0
        public void UploadConstructor_WhenInValidParametersArePased_ShouldThrowArgumentNullException()
        {
            // Arrange
            var result = new UploadController(null, null, null);

            // Act & Assert
            Assert.That(() => result.ValueProvider, Throws.ArgumentNullException);
        }
Ejemplo n.º 15
0
        public void Upload_ConfigVariables_Empty_Valid()
        {
            var uc = new UploadController(GetValidSerialPort());

            Action result = () => uc.UpdateConfiguration(new ConfigVariables());

            result.Should().NotThrow();
        }
Ejemplo n.º 16
0
        public void Upload_ConfigVariables_NULL_Invalid()
        {
            var uc = new UploadController(GetValidSerialPort());

            Action result = () => uc.UpdateConfiguration(null);

            result.Should().Throw <UnauthorizedAccessException>();
        }
        public void Index()
        {
            var controller = new UploadController();

            var result = controller.Index();

            Assert.IsType <ViewResult>(result);
            Assert.NotNull(result);
        }
Ejemplo n.º 18
0
        public async Task ErrorTests()
        {
            var imageProviderMock = new Mock <IImageProvider>();

            imageProviderMock
            .Setup(i => i.Resize(It.IsAny <string>(), It.IsAny <Stream>()))
            .Returns(() =>
            {
                throw new Exception("Foo");
            });

            var formCollectionMock     = new Mock <IFormCollection>();
            var formFileCollectionMock = new Mock <IFormFileCollection>();
            var formFileMock           = new Mock <IFormFile>();

            formCollectionMock.Setup(f => f.Files).Returns(formFileCollectionMock.Object);
            formFileCollectionMock.Setup(f => f.Count).Returns(1);
            formFileCollectionMock.Setup(f => f.GetEnumerator()).Returns((new List <IFormFile>()
            {
                formFileMock.Object
            }).GetEnumerator());
            formFileMock.Setup(f => f.OpenReadStream()).Returns(new MemoryStream());
            formFileMock.Setup(f => f.ContentDisposition).Returns("form-data; name=\"photo\"; filename=\"kneeph.jpg\"");
            formFileMock.Setup(f => f.ContentType).Returns("image/jpeg");

            var httpRequestMock = new DefaultHttpRequest(new DefaultHttpContext(), Mock.Of <IFeatureCollection>());

            httpRequestMock.Form = formCollectionMock.Object;
            var httpContext = new Mock <HttpContext>(); // new DefaultHttpContext();

            httpContext.Setup(h => h.Request).Returns(httpRequestMock);

            var loggerFactoryMock = new Mock <ILoggerFactory>();

            loggerFactoryMock.Setup(l => l.CreateLogger(It.IsAny <string>())).Returns(Mock.Of <ILogger>());
            UploadController controller = new UploadController(imageProviderMock.Object, loggerFactoryMock.Object);

            controller.ActionContext = new Microsoft.AspNet.Mvc.ActionContext()
            {
                HttpContext = httpContext.Object
            };

            Exception exception = null;

            try
            {
                await controller.Post();
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.NotNull(exception);
            Assert.Equal("Foo", exception.Message);
        }
Ejemplo n.º 19
0
        public UploadTesting()
        {
            IConfigurationBuilder configuration = new ConfigurationBuilder();

            configuration.AddJsonFile("appsettings.json");
            _configuration    = configuration.Build();
            _uploadRepository = new UploadRepository(_configuration);
            _uploadBusiness   = new UploadBusiness(_uploadRepository);
            controller        = new UploadController(_uploadBusiness, _configuration);
        }
Ejemplo n.º 20
0
        public UploadControllerTests()
        {
            _logger            = new Mock <ILogger <UploadController> >();
            _imageService      = new Mock <IImageService>();
            _fileUploadService = new Mock <IFileUploadService>();
            _adminLogService   = new Mock <IAdminLogService>();
            _uploadTracker     = new Mock <IUploadTracker>();

            _uploadController = new UploadController(_logger.Object, _imageService.Object, _fileUploadService.Object, _adminLogService.Object, _uploadTracker.Object);
        }
Ejemplo n.º 21
0
        public void Index()
        {
            // Arrange
            UploadController controller = new  UploadController();
            // Act
            ViewResult result = controller.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
Ejemplo n.º 22
0
        public void Setup()
        {
            // Specify temporary path for Attachments and Archive folders
            OverrideSettingPath();

            controller = new UploadController();

            // Reset the database and reload static data
            Database.StoredProcedure(Settings.StoredProcedures.InitTest);
            StaticData.Load();
        }
Ejemplo n.º 23
0
        public async void ReturnsBadRequestIfNoFileProvided()
        {
            var serviceMock = new Mock <IFileService>();

            var controller = new UploadController(serviceMock.Object);

            var response = await controller.Post(null);

            Assert.IsType <BadRequestObjectResult>(response);
            Assert.Equal("CSV must be passed", (response as BadRequestObjectResult).Value);
        }
Ejemplo n.º 24
0
        public FileUploader(SyncSetting syncSetting, ManualResetEvent doneEvent, SyncProgressPage syncProgressPage, int taskId, UploadController upctl)
        {
            this.syncSetting      = syncSetting;
            this.doneEvent        = doneEvent;
            this.syncProgressPage = syncProgressPage;
            this.taskId           = taskId;
            this.localHashDB      = syncProgressPage.LocalHashDB();
            this.syncLogDB        = syncProgressPage.SyncLogDB();

            upController = upctl;
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 上传大文件,支持断点续上传
        /// </summary>
        public static void uploadBigFile()
        {
            Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey);

            string bucket    = "test";
            string saveKey   = "video-x1-1.mp4";
            string localFile = "D:/QFL/1.mp4";

            // 断点记录文件,可以不用设置,让SDK自动生成,如果出现续上传的情况,SDK会尝试从该文件载入断点记录
            // SDK自动生成的文件为Path.Combine(UserEnv.GetHomeFolder(), ResumeHelper.GetDefaultRecordKey(localFile, saveKey))
            // 对于不同的上传任务,请使用不同的recordFile
            string recordFile = "D:/QFL/resume";

            PutPolicy putPolicy = new PutPolicy();

            putPolicy.Scope = bucket;
            putPolicy.SetExpires(3600);
            putPolicy.DeleteAfterDays = 1;

            // 将PutPolicy转换为JSON字符串
            string jstr = putPolicy.ToJsonString();

            string token = Auth.CreateUploadToken(mac, jstr);

            // 包含两个参数,并且都有默认值
            // 参数1(bool): uploadFromCDN是否从CDN加速上传,默认否
            // 参数2(enum): chunkUnit上传分片大小,可选值128KB,256KB,512KB,1024KB,2048KB,4096KB
            ResumableUploader ru = new ResumableUploader(false, ChunkUnit.U1024K);

            // ResumableUploader.uploadFile有多种形式,您可以根据需要来选择
            //
            // 最简模式,使用默认recordFile和默认uploadProgressHandler
            // UploadFile(localFile,saveKey,token)
            //
            // 基本模式,使用默认uploadProgressHandler
            // UploadFile(localFile,saveKey,token,recordFile)
            //
            // 一般模式,使用自定义进度处理(监视上传进度)
            // UploadFile(localFile,saveKey,token,recordFile,uploadProgressHandler)
            //
            // 高级模式,包含上传控制(可控制暂停/继续 或者强制终止)
            // UploadFile(localFile,saveKey,token,recordFile,uploadProgressHandler,uploadController)
            //
            // 高级模式,包含上传控制(可控制暂停 / 继续 或者强制终止), 可设置最大尝试次数
            // UploadFile(localFile,saveKey,token,recordFile,maxTry,uploadProgressHandler,uploadController)

            // 使用默认进度处理,使用自定义上传控制
            UploadProgressHandler upph  = new UploadProgressHandler(ResumableUploader.DefaultUploadProgressHandler);
            UploadController      upctl = new UploadController(uploadControl);

            var result = ru.UploadFile(localFile, saveKey, token, recordFile, upph, upctl);

            Console.WriteLine(result);
        }
Ejemplo n.º 26
0
        public void SubmitAbstract()
        {
            // Arrange
            UploadController controller = new UploadController();

            // Act
            ViewResult result = controller.SubmitAbstract() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
Ejemplo n.º 27
0
 private void ExecuteUpload(object parameter)
 {
     if (CanUpload)
     {
         UploadController.UploadPsts(copyOption);
     }
     else
     {
         MessageBox.Show("Nope!");
     }
 }
        public void RetornaStatusCodeErrorDadoArquivoTiopoDiferenteDeTexto()
        {
            UploadController upload = new UploadController(_registroCorridaServiceMock.Object, _corridaServiceMock.Object, _bonusServiceMock.Object);

            var mock             = ObterMockIFromFilePDF();
            var result           = upload.CarregarArquivo(mock.Object).Result;
            var badRequestResult = result as BadRequestObjectResult;

            Assert.IsNotNull(badRequestResult);
            Assert.AreEqual(400, badRequestResult.StatusCode);
            Assert.IsTrue(badRequestResult.Value.ToString().Contains("Apenas arquivo texto"));
        }
        public void RetornaStatusCodeErrorDadoNenhumArquivoParaUpload()
        {
            UploadController upload = new UploadController(_registroCorridaServiceMock.Object, _corridaServiceMock.Object, _bonusServiceMock.Object);

            var mock             = new Mock <IFormFile>();
            var result           = upload.CarregarArquivo(mock.Object).Result;
            var badRequestResult = result as BadRequestObjectResult;

            Assert.IsNotNull(badRequestResult);
            Assert.AreEqual(400, badRequestResult.StatusCode);
            Assert.IsTrue(badRequestResult.Value.ToString().Contains("Nenhum Arquivo Selecionado"));
        }
Ejemplo n.º 30
0
        public async Task UploadToFolder_DefaultFlow_ShouldNotOverWriteDatabase()
        {
            var controller = new UploadController(_import, _appSettings,
                                                  new FakeSelectorStorage(_iStorage), _query,
                                                  new FakeIRealtimeConnectionsService(), new FakeIWebLogger(),
                                                  new FakeIMetaExifThumbnailService())
            {
                ControllerContext = RequestWithFile(),
            };

            var toPlaceSubPath = "/duplicate_upload/yes01.jpg";
            var toPlaceFolder  = "/duplicate_upload";

            // add to db
            await _query.AddItemAsync(new FileIndexItem(toPlaceSubPath));

            _iStorage.CreateDirectory(toPlaceFolder);

            controller.ControllerContext.HttpContext.Request.Headers["to"] = toPlaceSubPath;             //Set header

            var actionResult = await controller.UploadToFolder() as JsonResult;

            if (actionResult == null)
            {
                throw new ArgumentNullException(nameof(actionResult),
                                                "actionResult should not be null");
            }
            var list = actionResult.Value as List <ImportIndexItem>;

            if (list == null)
            {
                throw new ArgumentNullException(nameof(list),
                                                "result should not be null");
            }

            Assert.AreEqual(ImportStatus.Ok, list[0].Status);

            var fileSystemResult = _iStorage.ExistFile(toPlaceSubPath);

            Assert.IsTrue(fileSystemResult);

            var getAllFiles = await _query.GetAllFilesAsync(toPlaceFolder);

            // Should not duplicate
            Assert.AreEqual(1, getAllFiles.Count);

            var queryResult = _query.SingleItem(toPlaceSubPath);

            Assert.AreEqual("Sony", queryResult.FileIndexItem.Make);

            await _query.RemoveItemAsync(queryResult.FileIndexItem);
        }