public void Allow_Publish_For_Impersonated_Repository() { // construct the model // construct the model AuthToken authToken = new AuthToken() { UserId = 1, RespositoryId = 2 }; File fakeFile = new File() { Name = "test1", FileId = 100, RepositoryId = 1, CreatedBy = 1, Status = FileStatus.None.ToString() }; PublishMessage model = new PublishMessage() { RepositoryId = 1, AuthToken = authToken, FileId = fakeFile.FileId, UserId = 1 }; this.repository = new Repository() { BaseRepositoryId = 2, Name = "test", IsImpersonating = true, AccessToken = "accessToken", RefreshToken = "refreshToken", TokenExpiresOn = DateTime.UtcNow.AddHours(1), BaseRepository = new BaseRepository { Name = "SkyDrive" } }; SkyDriveFileService skyDriveFileService = this.GetSkyDriveFileService(); IFileProcesser fileProcessor = new StubIFileProcesser() { DownloadDocumentFile = file => new DataDetail() { FileNameToDownLoad = "abc.xyz" } }; string fileIdentifier; using (ShimsContext.Create()) { ShimFileFactory.GetFileTypeInstanceStringIBlobDataRepositoryIFileRepositoryIRepositoryService = (fileExtension, blobDataRepository, fileDataRepository, repositoryService) => fileProcessor; fileIdentifier = skyDriveFileService.PublishFile(model); } Assert.IsFalse(string.IsNullOrEmpty(fileIdentifier)); }
public async Task RemoveErrors_ShouldRemoveErrorsAndUpdateTheFile() { IFileRepository fileRepository = new StubIFileRepository() { GetItemInt32Int32 = (userId, FileId) => new File() { Name = "abc.xlsx" }, UpdateFileFile = file => file }; IBlobDataRepository blobDataRepository = new StubIBlobDataRepository() { UploadFileDataDetail = dataDetail => true }; IUnitOfWork unitOfWork = new StubIUnitOfWork(); IFileProcesser fileProcessor = new StubIFileProcesser() { RemoveErrorStreamStringIEnumerableOfErrorType = (file, sheetName, ErrorTypeList) => { System.IO.Stream stream = new System.IO.MemoryStream(); return Task.FromResult(stream); } }; using (ShimsContext.Create()) { ShimFileFactory.GetFileTypeInstanceStringIBlobDataRepositoryIFileRepositoryIRepositoryService = (fe, bdr, fdr, rs) => fileProcessor; ShimStreamExtensions.GetBytesAsyncStream = stream => Task.FromResult(new byte[0]); var fileService = new FileServiceProvider(fileRepository, blobDataRepository, unitOfWork, null, null, null); await fileService.RemoveErrors(0, 0, null, null); Assert.IsTrue(true); } }
public void Return_ErrorCode_When_Adapter_Returns_Failure() { // construct the model AuthToken authToken = new AuthToken() { AccessToken = "accessToken", RefreshToken = "refreshToken", TokenExpiresOn = DateTime.UtcNow.AddHours(-1), RespositoryId = 1 }; File fakeFile = new File() { Name = "test1", FileId = 100, RepositoryId = 1, CreatedBy = 1, Status = FileStatus.None.ToString() }; PublishMessage model = new PublishMessage() { RepositoryId = 3, AuthToken = authToken, FileId = fakeFile.FileId, UserId = 1 }; this.repository = new Repository() { BaseRepositoryId = 2, Name = "test", IsImpersonating = false, BaseRepository = new BaseRepository { Name = "SkyDrive" } }; this.userAuthToken = null; var fileProvider = this.GetSkyDriveFileService(); this.skyDriveAdapter = new Microsoft.Research.DataOnboarding.RepositoryAdapters.Interfaces.Fakes.StubIRepositoryAdapter() { PostFilePublishFileModel = (publishFileModel) => { OperationStatus status = OperationStatus.CreateFailureStatus("error"); return status; }, }; IFileProcesser fileProcessor = new StubIFileProcesser() { DownloadDocumentFile = file => new DataDetail() { FileNameToDownLoad = "abc.xyz" } }; string fileIdentifier; using (ShimsContext.Create()) { ShimFileFactory.GetFileTypeInstanceStringIBlobDataRepositoryIFileRepositoryIRepositoryService = (fileExtension, blobDataRepository, fileDataRepository, repositoryService) => fileProcessor; ShimSkyDriveFileService.AllInstances.GetOrUpdateAuthTokensRepositoryAuthToken = (skyDriveFileService, repository, at) => new AuthToken(); fileIdentifier = fileProvider.PublishFile(model); } Assert.IsTrue(string.IsNullOrEmpty(fileIdentifier)); }
public async Task GetErrors_ShouldReturnFileAndFileSheets() { IFileRepository fileRepository = new StubIFileRepository() { GetItemInt32Int32 = (userId, FileId) => new File() { Name = "abc.xlsx" } }; IList<FileSheet> fileSheets = new List<FileSheet>() { new FileSheet() { SheetId = "1", SheetName = "SomeTabName" }, new FileSheet() { SheetId = "1", SheetName = "SomeTabName" } }; IFileProcesser fileProcessor = new StubIFileProcesser() { GetErrorsFile = file => Task.FromResult(fileSheets) }; using (ShimsContext.Create()) { ShimFileFactory.GetFileTypeInstanceStringIBlobDataRepositoryIFileRepositoryIRepositoryService = (fileExtension, blobDataRepository, fileDataRepository, repositoryService) => fileProcessor; var fileService = new FileServiceProvider(fileRepository, null, null, null, null, null); var fileAndFileSheets = await fileService.GetErrors(0, 0); Assert.IsNotNull(fileAndFileSheets.Item1); Assert.IsNotNull(fileAndFileSheets.Item2); } }