public void TestShareProjectSuccess() { TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie")); LocalFileModel model = new LocalFileModel(); IEnumerable <Project> projects = model.GetProjects("local"); Project project = projects.First(); model.UploadStructure("*****@*****.**"); model.FindProjects(); projects = model.GetProjects("local"); project = projects.First(); Assert.AreEqual(1, projects.Count()); userModel.ShareProject(project.Id, "*****@*****.**"); using (var dbContext = new sliceofpieEntities2()) { var projectUsers = from projectUser in dbContext.ProjectUsers where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**" select projectUser; Assert.AreEqual(1, projectUsers.Count()); } }
public void TestProjectShare() { LocalFileModel model = new LocalFileModel(); IEnumerable <Project> projects = model.GetProjects("local"); Project project = projects.First(); model.UploadStructure("*****@*****.**"); model.FindProjects(); projects = model.GetProjects("local"); project = projects.First(); Assert.AreEqual(1, projects.Count()); string[] emails = { "*****@*****.**" }; IAsyncResult shareAr = controller.BeginShareProject(project, emails, null, null); controller.EndShareProject(shareAr); using (var dbContext = new sliceofpieEntities2()) { var projectUsers = from projectUser in dbContext.ProjectUsers where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**" select projectUser; Assert.AreEqual(1, projectUsers.Count()); } }
public void TestSyncProjects() { LocalFileModel model = new LocalFileModel(); IAsyncResult ar = controller.BeginSyncProjects("*****@*****.**", "pw", null, null); IEnumerable <Project> projectsSynced = controller.EndSyncProjects(ar); Assert.IsTrue(projectsSynced.Count() > 0); }
public void TestDownloadRevisions() { LocalFileModel model = new LocalFileModel(); //To reinitialize the underlying filesystem Project p = controller.CreateProject("Thirteen-Thirtyseven", "*****@*****.**"); Document d = controller.CreateDocument("Fourty-Two", "*****@*****.**", p); d.CurrentRevision = "Noget ordentligt"; controller.SaveDocument(d); IEnumerable <Project> projects = controller.SyncProjects("*****@*****.**", "pw"); p = projects.First(project => project.Title.Equals(p.Title)); d = p.GetDocuments().First(); IAsyncResult ar = controller.BeginDownloadRevisions(d, null, null); IEnumerable <Revision> result = controller.EndDownloadRevisions(ar); Assert.IsTrue(result.Count() > 0); }
public void TestShareProjectFailureProjectUser() { TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie")); LocalFileModel model = new LocalFileModel(); IEnumerable <Project> projects = model.GetProjects("local"); Project project = projects.First(); model.UploadStructure("*****@*****.**"); model.FindProjects(); projects = model.GetProjects("local"); project = projects.First(); Assert.AreEqual(1, projects.Count()); userModel.ShareProject(project.Id, "*****@*****.**"); userModel.ShareProject(project.Id, "*****@*****.**"); }
public void TestShareProjectFailureProjectUser() { TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie")); LocalFileModel model = new LocalFileModel(); IEnumerable<Project> projects = model.GetProjects("local"); Project project = projects.First(); model.UploadStructure("*****@*****.**"); model.FindProjects(); projects = model.GetProjects("local"); project = projects.First(); Assert.AreEqual(1, projects.Count()); userModel.ShareProject(project.Id, "*****@*****.**"); userModel.ShareProject(project.Id, "*****@*****.**"); }
public void TestShareProjectSuccess() { TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie")); LocalFileModel model = new LocalFileModel(); IEnumerable<Project> projects = model.GetProjects("local"); Project project = projects.First(); model.UploadStructure("*****@*****.**"); model.FindProjects(); projects = model.GetProjects("local"); project = projects.First(); Assert.AreEqual(1, projects.Count()); userModel.ShareProject(project.Id, "*****@*****.**"); using (var dbContext = new sliceofpieEntities2()) { var projectUsers = from projectUser in dbContext.ProjectUsers where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**" select projectUser; Assert.AreEqual(1, projectUsers.Count()); } }
public void Initialize() { TestHelper.ClearDatabase("*****@*****.**"); TestHelper.ClearFolder(AppPath); Model = new LocalFileModel(); }
public async Task <LocalFileModel> SaveAsync(ImageModel image) { //ImageInfo result = new ImageInfo(); var result = new LocalFileModel(); var baseUrl = image.GetBaseUrl(); var now = DateTimeOffset.UtcNow; var destinationDirectory = appOptions.DestinationPath; if (!Directory.Exists(destinationDirectory)) { Directory.CreateDirectory(destinationDirectory); } result.Directory = destinationDirectory; var suffixes = new string[] { "_UHD", "_1920x1080" }; foreach (var suffix in suffixes) { var imageInfo = image.GetFileName(suffix); var imageUrl = $"{baseUrl}{imageInfo.BaseUrl}"; var response = await client.GetAsync(imageUrl); if (response.IsSuccessStatusCode && response.Content != null) { if (response.Content.Headers.Contains("content-type")) { var contentType = response.Content.Headers.GetValues("content-type").FirstOrDefault(); result.ContentType = contentType; } else { result.ContentType = "application/octet-stream"; } var fileName = imageInfo.FileName; if (String.IsNullOrEmpty(fileName)) { throw new ArgumentException("Does not find a file name"); } result.FileName = fileName; var fileNameWithoutExtension = fileName; var fileExtension = String.Empty; if (fileName.Contains(".")) { var fileNamesToken = fileName.Split('.'); fileNameWithoutExtension = String.Join(".", fileNamesToken.Take(fileNamesToken.Length - 1)); fileExtension = $".{ fileName.Split('.').LastOrDefault() }"; } var saveFileName = $"{fileNameWithoutExtension}-{now.Ticks}{fileExtension}"; var filePath = Path.Combine(destinationDirectory, saveFileName); result.FilePath = filePath; using (var responseStream = await response.Content.ReadAsStreamAsync()) { result.Size = responseStream.Length; responseStream.Position = 0; using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write)) { await responseStream.CopyToAsync(fileStream); await fileStream.FlushAsync(); fileStream.Close(); } responseStream.Close(); } await imageFileService.GenerateThumbnailAsync(filePath); break; } } return(result); }