public void File_Should_Be_Mapped_To_PaymentRecords() { //Arrange var fileMock = new Mock <IFormFile>(); //Setup mock file using a memory stream var content = "Product, Origin Year, Development Year, Incremental Value" + Environment.NewLine + "Comp, 1992, 1992, 110.0"; var fileName = "ExampleFile.txt"; var ms = new MemoryStream(); var writer = new StreamWriter(ms); writer.Write(content); writer.Flush(); ms.Position = 0; fileMock.Setup(_ => _.OpenReadStream()).Returns(ms); fileMock.Setup(_ => _.FileName).Returns(fileName); fileMock.Setup(_ => _.Length).Returns(ms.Length); var fileUploadController = new FileUploadController(Mock.Of <IWebHostEnvironment>()); var exampleFile = fileMock.Object; List <PaymentRecord> expectedPaymentRecords = new List <PaymentRecord>() { new PaymentRecord { Product = "Comp", OriginYear = 1992, DevelopmentYear = 1992, IncrementalValue = 110M } }; //Act List <PaymentRecord> actualPaymentRecords = fileUploadController.getFileRecords(exampleFile); //Assert Assert.True(expectedPaymentRecords[0].Product == actualPaymentRecords[0].Product && expectedPaymentRecords[0].OriginYear == actualPaymentRecords[0].OriginYear && expectedPaymentRecords[0].DevelopmentYear == actualPaymentRecords[0].DevelopmentYear && expectedPaymentRecords[0].IncrementalValue == actualPaymentRecords[0].IncrementalValue); }
public void IndexTest() { FileUploadController fileUploadController = new FileUploadController(); ViewResult result = fileUploadController.Index() as ViewResult; Assert.NotNull(result); }
public void Invalid_File_Should_Return_False() { //Arrange var fileMock = new Mock <IFormFile>(); //Setup mock file using a memory stream var content = ""; var fileName = "EmptyFile.txt"; var ms = new MemoryStream(); var writer = new StreamWriter(ms); writer.Write(content); writer.Flush(); ms.Position = 0; fileMock.Setup(_ => _.OpenReadStream()).Returns(ms); fileMock.Setup(_ => _.FileName).Returns(fileName); fileMock.Setup(_ => _.Length).Returns(ms.Length); var fileUploadController = new FileUploadController(Mock.Of <IWebHostEnvironment>()); var invalidFile = fileMock.Object; //Act bool isValid = fileUploadController.CheckIfValid(invalidFile); //Assert Assert.False(isValid); }
public void PaymentRecord_Should_Output_Correct_CumulativeData() { //Arrange var fileUploadController = new FileUploadController(Mock.Of <IWebHostEnvironment>()); List <PaymentRecord> paymentRecord = new List <PaymentRecord>() { new PaymentRecord { Product = "Comp", OriginYear = 1992, DevelopmentYear = 1992, IncrementalValue = 110M }, new PaymentRecord { Product = "Comp", OriginYear = 1992, DevelopmentYear = 1993, IncrementalValue = 170M }, new PaymentRecord { Product = "Comp", OriginYear = 1993, DevelopmentYear = 1993, IncrementalValue = 200M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1990, DevelopmentYear = 1990, IncrementalValue = 45.2M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1990, DevelopmentYear = 1991, IncrementalValue = 64.8M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1990, DevelopmentYear = 1993, IncrementalValue = 37.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1991, DevelopmentYear = 1991, IncrementalValue = 50.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1991, DevelopmentYear = 1992, IncrementalValue = 75.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1991, DevelopmentYear = 1993, IncrementalValue = 25.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1992, DevelopmentYear = 1992, IncrementalValue = 55.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1992, DevelopmentYear = 1993, IncrementalValue = 85.0M }, new PaymentRecord { Product = "Non-Comp", OriginYear = 1993, DevelopmentYear = 1993, IncrementalValue = 100.0M } }; List <string> expectedProcessedRecords = new List <string>() { "1990, 4", "Comp, 0, 0, 0, 0, 0, 0, 0, 110, 280, 200", "Non-Comp, 45.2, 110, 110, 147, 50, 125, 150, 55, 140, 100" }; //Act List <string> actualProcessedRecords = fileUploadController.calculateCumulativeData(paymentRecord); //Assert Assert.True(expectedProcessedRecords[0] == actualProcessedRecords[0] && expectedProcessedRecords[1] == actualProcessedRecords[1] && expectedProcessedRecords[2] == actualProcessedRecords[2]); }
public void UploadFileToProperLocationAndName() { //Given //create repo and populate it User user = new User { UserID = 1, RootFolderLocation = "./FileUploadTestFolder/user1/" }; var userRepo = new Mock <IUserRepository>(); List <User> users = new List <User>(); users.Add(user); userRepo.Setup(f => f.Users).Returns(users.AsQueryable()); Task task = new Task { TaskID = 1, User = user, Date = "2019-07-03", Time = "12:00" }; var taskRepo = new Mock <ITaskRepository>(); List <Task> tasks = new List <Task>(); tasks.Add(task); taskRepo.Setup(f => f.Tasks).Returns(tasks.AsQueryable()); TaskFile taskFile = new TaskFile { TaskFileID = 1, Task = task, FilePath = "./FileUploadTestFolder/user1/" }; var taskFileRepo = new Mock <ITaskFileRepository>(); List <TaskFile> taskFiles = new List <TaskFile>(); taskFiles.Add(taskFile); taskFileRepo.Setup(f => f.TaskFiles).Returns(taskFiles.AsQueryable()); //create file var file = new Mock <IFormFile>(); file.Setup(f => f.FileName).Returns("test.txt"); FileUpload fileUpload = new FileUpload { UserID = 1, FileName = "test", File = file.Object, isUserInputName = true }; //create controller FileUploadController controller = new FileUploadController(userRepo.Object, taskRepo.Object, taskFileRepo.Object); //When controller.UploadFileForm(fileUpload); //Then Assert.True(Directory.Exists(user.RootFolderLocation)); if (fileUpload.isUserInputName) { Assert.True(File.Exists(user.RootFolderLocation + fileUpload.FileName + ".txt")); } else { Assert.True(File.Exists(user.RootFolderLocation + "test.txt")); } }
public void IndexTest() { //Arrange FileUploadController fileUploadController = new FileUploadController(); //Act ViewResult result = fileUploadController.Index() as ViewResult; //Assert Assert.IsNotNull(result); }
public void UploadFiles() { if (requestobject.Files.Count > 0) { FileUploadController fileupload = new FileUploadController(); foreach (string filename in requestobject.Files) { HttpPostedFileBase file = requestobject.Files[filename]; fileupload.UploadFile(file); } } }
public void Index() { // Arrange FileUploadRepository fileUploadRepository = new FileUploadRepository(); FileUploadController controller = new FileUploadController(fileUploadRepository); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result); }
public async Task UploadFiles_Should_Return_Bad_Request_If_There_Is_No_File_In_The_HttpContext_Request_Form_Files() { this.chatHubMock = new Mock <IHubContext <ChatHub> >(); this.authManagerMock = new Mock <IAuthManager>(); this.fileUploadController = new FileUploadController(this.chatHubMock.Object, this.authManagerMock.Object); var result = await this.fileUploadController.UploadFiles(GetNullFormFile()); this.Annihilate(); var badRequestResult = result.Should().BeOfType <BadRequestResult>(); }
public void SharedFileStateConverter_ConvertedFileNull_UploadCommandAnythingElse() { var fileUploadController = new FileUploadController(null, null, null) { UploadState = UploadState.Pending }; var sharedFile = new SharedFileViewModel() { FileUploadController = fileUploadController }; var converter = new SharedFileStateConverter(); string actual = converter.Convert(sharedFile, typeof(string), null, CultureInfo.CurrentCulture) as string; Assert.AreEqual(ClientStrings.SharedFileActionUpload, actual); }
public void TestInitialize() { this.guidCreator = new Mock <IGuidCreator>(); this.initiateFileUpload = new Mock <ICommandHandler <InitiateFileUploadCommand> >(); this.generateWritableBlobUri = new Mock <IQueryHandler <GenerateWritableBlobUriQuery, BlobSharedAccessInformation> >(); this.completeFileUpload = new Mock <ICommandHandler <CompleteFileUploadCommand> >(); this.requesterContext = new Mock <IRequesterContext>(); this.target = new FileUploadController( this.guidCreator.Object, this.initiateFileUpload.Object, this.generateWritableBlobUri.Object, this.completeFileUpload.Object, this.requesterContext.Object); }
public void TestInitialize() { this.logger = new Mock <ILogger <FileUploadController> >(); this.fileUploadProvider = new Mock <IFileUploadProvider>(); this.telemetryClient = new TelemetryClient(new TelemetryConfiguration()); this.controller = new FileUploadController(this.fileUploadProvider.Object, this.logger.Object, this.telemetryClient); this.fromFile = new FormFile(new MemoryStream(Encoding.UTF8.GetBytes("This is a dummy file")), 0, 0, "Data", FileName); // Mock behaviour of the UploadFileAsync method this.fileUploadProvider.Setup(x => x.UploadFileAsync(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <string>())).Returns(Task.FromResult(BlobUri)); this.controller.ControllerContext = new ControllerContext { HttpContext = FakeHttpContext.GetMockHttpContextWithUserClaims(), }; }
public void SaveFileTest() { //Arrange FileBaseController fileBaseController = new FileUploadController(); //var httpPostFileBase = new Mock<HttpPostedFileBase>(); string localPath = Assembly.GetExecutingAssembly().Location.Remove(Assembly.GetExecutingAssembly().Location.IndexOf("bin")); string fileFullName = "UnitTestTempFile.txt"; var _stream = new FileStream(localPath + "packages.config", FileMode.Open); var context = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); var files = new Mock <HttpFileCollectionBase>(); var file = new Mock <HttpPostedFileBase>(); context.Setup(x => x.Request).Returns(request.Object); files.Setup(x => x.Count).Returns(1); // The required properties from my Controller side file.Setup(x => x.InputStream).Returns(_stream); file.Setup(x => x.ContentLength).Returns((int)_stream.Length); file.Setup(x => x.FileName).Returns("packages.config"); file.Setup(x => x.ContentType).Returns("text/plain"); file.Setup(x => x.SaveAs(fileFullName)); files.Setup(x => x.Get(0).InputStream).Returns(file.Object.InputStream); request.Setup(x => x.Files).Returns(files.Object); request.Setup(x => x.Files[0]).Returns(file.Object); fileBaseController.ControllerContext = new ControllerContext(context.Object, new RouteData(), fileBaseController); ////Act bool result = fileBaseController.SaveFile("D:\\代码\\ASP.NET\\FileUpload\\FileUpload\\Upload", fileFullName, file.Object); //Assert 判断文件是否写入成功 //DirectoryInfo uploadFolder = new DirectoryInfo(localPath); //FileInfo[] fileInfo = uploadFolder.GetFiles("UnitTestTempFile.txt"); //Assert.IsTrue(fileInfo.Length > 0); Assert.IsTrue(result); }
public void TestGetAddressSortedViewModel() { // Arrange FileUploadRepository fileUploadRepository = new FileUploadRepository(); FileUploadController controller = new FileUploadController(fileUploadRepository); // populate dummy DataTable DataTable dummyDT = makeDummeDataTable(); List <AddressSortedViewModel> listAddressSortedViewModel = new List <Models.AddressSortedViewModel>(); listAddressSortedViewModel = fileUploadRepository.GetAddressSorted(dummyDT); // Do 1 or more Asserts here... Assert.AreEqual(8, listAddressSortedViewModel.Count); Assert.AreEqual("65, Ambling Way", listAddressSortedViewModel.ToArray()[0].StreetName); }
public void TestGetFrequencyViewModel() { // Arrange FileUploadRepository fileUploadRepository = new FileUploadRepository(); FileUploadController controller = new FileUploadController(fileUploadRepository); // populate dummy DataTable DataTable dummyDT = makeDummeDataTable(); List <NamesFrequencyViewModel> listNamesFrequencyViewModel = new List <Models.NamesFrequencyViewModel>(); listNamesFrequencyViewModel = fileUploadRepository.GetNamesFrequency(dummyDT); // Do 1 or more Asserts here... Assert.AreEqual(9, listNamesFrequencyViewModel.Count); Assert.AreEqual("James", listNamesFrequencyViewModel.ToArray()[0].FirstOrLastName); Assert.AreEqual(3, listNamesFrequencyViewModel.ToArray()[0].Frequency); }
public void SaveFileTest() { FileBaseController fileBaseController = new FileUploadController(); var httpPostFileBase = new Mock <HttpPostedFileBase>(); //string localPathaaa = // Assembly.GetExecutingAssembly().Location; string localPath = Assembly.GetExecutingAssembly().Location.Remove(Assembly.GetExecutingAssembly().Location.IndexOf("FileUpload.xUnit.Tests.dll")); string fileFullName = "xUnitTestTempFile.txt"; var _stream = new FileStream(localPath + "packages.config", FileMode.Open); var context = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); var files = new Mock <HttpFileCollectionBase>(); var file = new Mock <HttpPostedFileBase>(); context.Setup(x => x.Request).Returns(request.Object); files.Setup(x => x.Count).Returns(1); // The required properties from my Controller side file.Setup(x => x.InputStream).Returns(_stream); file.Setup(x => x.ContentLength).Returns((int)_stream.Length); file.Setup(x => x.FileName).Returns("packages.config"); file.Setup(x => x.ContentType).Returns("text/plain"); file.Setup(x => x.SaveAs(fileFullName)); files.Setup(x => x.Get(0).InputStream).Returns(file.Object.InputStream); request.Setup(x => x.Files).Returns(files.Object); request.Setup(x => x.Files[0]).Returns(file.Object); ////Act bool result = fileBaseController.SaveFile("D:\\代码\\ASP.NET\\FileUpload\\FileUpload\\Upload", fileFullName, file.Object); Assert.True(result); }
public async Task UploadFiles_Should_Return_200_Ok_If_There_Is_A_File_In_The_HttpContext_Request_Forms_Files() { this.chatHubMock = new Mock <IHubContext <ChatHub> >(); this.authManagerMock = new Mock <IAuthManager>(); var mockedUser = this.MockedUser(); this.authManagerMock.Setup(m => m.GetUserAsync(It.IsAny <ClaimsPrincipal>())).Returns(Task.FromResult(mockedUser)); this.fileUploadController = new FileUploadController(this.chatHubMock.Object, this.authManagerMock.Object) { ControllerContext = RequestWithFile() }; var result = await this.fileUploadController.UploadFiles(GetNullFormFile()); this.Annihilate(); var okRequestResult = result.Should().BeOfType <OkResult>(); }
public void FileUploadControllerPropertyTest() { string fileName = "text.txt"; var uploader = new FileUploadController(null, TestGlobals.User, TestGlobals.NamedRoom); Assert.AreEqual(null, uploader.FileInfo); Assert.IsTrue(string.IsNullOrEmpty(uploader.FileName)); Assert.AreEqual(false, uploader.IsUploading); Assert.AreEqual(false, uploader.IsDeleted); uploader.FileName = fileName; Assert.AreEqual(fileName, uploader.FileName); uploader.UploadState = UploadState.Uploading; Assert.AreEqual(true, uploader.IsUploading); Assert.AreEqual(false, uploader.IsDeleted); uploader.UploadState = UploadState.Deleted; Assert.AreEqual(true, uploader.IsDeleted); Assert.AreEqual(false, uploader.IsUploading); }
public async void uploadedFiles_ReturnOkResult() { var options = new DbContextOptionsBuilder <FileUploadServiceContext>() .UseInMemoryDatabase(databaseName: "Add_writes_to_database") .Options; using (var context = new FileUploadServiceContext(options)) { context.FileUpload.Add(new FileUpload { id = 1, filename = "test.png", filesize = 123456, filetype = "image/png", updated_at = new DateTime(2019, 6, 1).ToString(), username = "******" }); context.FileUpload.Add(new FileUpload { id = 2, filename = "test.mp4", filesize = 123456, filetype = "video/mp4", updated_at = new DateTime(2019, 6, 2).ToString(), username = "******" }); context.SaveChanges(); } using (var context = new FileUploadServiceContext(options)) { var controller = new FileUploadController(context); var actionResult = await controller.UploadedFiles("image"); Assert.Equal(1, actionResult[0].id); Assert.Equal(123456, actionResult[0].filesize); } }
private void SetupSynchronizationContext() { _synchronizationContext = new TestSynchronizationContext(); SynchronizationContext.SetSynchronizationContext(_synchronizationContext); this._testInstance = new FileUploadController(); }
public void FileUpTest() { //Arrange //声明 FileUploadController fileUploadController = new FileUploadController(); var file = new Mock <HttpPostedFileBase>(); var httpContext = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); //赋值 string localPath = Assembly.GetExecutingAssembly().Location.Remove(Assembly.GetExecutingAssembly().Location.IndexOf("bin")); string fileFullName = "UnitTestTempFile.txt"; //byte[] buffer = new byte[1 * 1024 * 1024]; //初始化moq对象 //file.Setup(a => a.SaveAs(localPath + fileFullName)); file.Setup(a => a.FileName).Returns(fileFullName); //file.Setup(a => a.SaveAs(localPath + fileFullName)); request.Setup(a => a.Files.Count).Returns(1); httpContext.Setup(a => a.Request).Returns(request.Object); ControllerContext controllerContext = new ControllerContext(); controllerContext.HttpContext = httpContext.Object; fileUploadController.ControllerContext = controllerContext; //使用 JsonResult result = fileUploadController.FileUp("id", fileFullName, "type", "lastModifiedDate", 1024 * 1024, file.Object) as JsonResult; string josnResult = result.Data.ToString(); Console.WriteLine(josnResult); //Assert //实际上由于一些问题,就算代码正确文件写入还是失败,可能是引用的问题,暂时不知道怎么解决,比如上面的代码跟踪单步执行的话发现到了保存文件的时候,保存应该结束了,但是似乎抛出了异常?!瞬间到了cache块里面又瞬间跳出来了,一个未知的Exception错误,但是返回值仍然是true,而在Upload里面执行却没有问题,所以感觉是引用出了问题 Assert.AreNotEqual("{ error = true }", josnResult); #region MyRegion //using (FileStream stream = new FileStream(localPath + "\\UnitTestTempFile.txt", FileMode.OpenOrCreate)) //{ // stream.Read(buffer, 0, buffer.Length); // //file.Setup(s => s.InputStream).Returns(stream); // //file.Setup(s => s.).Returns(stream); // #region MyRegion // //request.SetupGet(returnFileCount); // //request.Object.Files.Count = 1; // #endregion // //Act // // JsonResult result= fileUploadController.FileUp("id", "name", "type", "lastModifiedDate", 1024*1024, file.Object) as JsonResult; // //string a= result.Data.ToString(); // // Console.WriteLine(a); // // Assert.AreNotEqual("{ error = true }",a); // #region MyRegion // //.SaveFile(localPath, fileFullName, file.Object); // // file.Object.SaveAs(); // #endregion //} #endregion #region MyRegion //HttpPostedFile httpPostedFile = new HttpPostedFile(fileFullName, "text/plain",(HttpInputStream) stream); //HttpPostedFileBase file =new HttpPostedFileWrapper(); //HttpPostedFileBase file = new HttpPostedFile(fileFullName,"text/plain",stream); #endregion ////Assert 判断文件是否写入成功 //DirectoryInfo uploadFolder = new DirectoryInfo(localPath); //FileInfo[] fileInfo = uploadFolder.GetFiles("UnitTestTempFile.txt"); //Assert.IsTrue(fileInfo.Length > 0); }
public FileUploadControllerTests() { mediator = new Mock <IMediator>(); fileUploadController = new FileUploadController(mediator.Object); }
private void UploadWholeFile(HttpContextBase context, ICollection <FilesStatus> statuses) { IFileManager _fileManager = FileManager.Instance; IFolderManager _folderManager = FolderManager.Instance; for (var i = 0; i < context.Request.Files.Count; i++) { var file = context.Request.Files[i]; if (file == null) { continue; } var fileName = FileUploadController.CleanUpFileName(Path.GetFileName(file.FileName)); if (IsAllowedExtension(fileName)) { string uploadfolder = "OpenForm/Files/" + ActiveModule.ModuleID; if (!string.IsNullOrEmpty(context.Request.Form["uploadfolder"])) { uploadfolder = context.Request.Form["uploadfolder"]; } var userFolder = _folderManager.GetFolder(PortalSettings.PortalId, uploadfolder); if (userFolder == null) { // Get folder mapping var folderMapping = FolderMappingController.Instance.GetFolderMapping(PortalSettings.PortalId, "Secure"); userFolder = _folderManager.AddFolder(folderMapping, uploadfolder); //userFolder = _folderManager.AddFolder(PortalSettings.PortalId, uploadfolder); } int suffix = 0; string baseFileName = Path.GetFileNameWithoutExtension(fileName); string extension = Path.GetExtension(fileName); var fileInfo = _fileManager.GetFile(userFolder, fileName); while (fileInfo != null) { suffix++; fileName = baseFileName + "-" + suffix + extension; fileInfo = _fileManager.GetFile(userFolder, fileName); } fileInfo = _fileManager.AddFile(userFolder, fileName, file.InputStream, true); var fileIcon = IconController.IconURL("Ext" + fileInfo.Extension, "32x32"); if (!File.Exists(context.Server.MapPath(fileIcon))) { fileIcon = IconController.IconURL("File", "32x32"); } statuses.Add(new FilesStatus { success = true, name = fileName, extension = fileInfo.Extension, type = fileInfo.ContentType, size = file.ContentLength, progress = "1.0", url = _fileManager.GetUrl(fileInfo), thumbnail_url = fileIcon, message = "success", id = fileInfo.FileId, }); } else { statuses.Add(new FilesStatus { success = false, name = fileName, message = "File type not allowed." }); } } }
private void Annihilate() { this.chatHubMock = null; this.authManagerMock = null; this.fileUploadController = null; }
public void Initialize() { _cursusInstantieService = new Mock <ICursusInstantieService>(); _fileUploadController = new FileUploadController(_cursusInstantieService.Object); }