public async Task SendFileToContact_SeemsToWork() { using (var feedback = new DebugFeedbackChannel("Test")) { using (var initializing = feedback.BeginSubOperation("InitializeData")) await TestData.Current.BringToInitialState(initializing); using (var sending = feedback.BeginSubOperation("Sending")) { var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); await client.AddContactAsync(TestData.Current.Email2, sending); var contactList = await client.GetContactListSnapshotAsync(sending); Assert.AreEqual(1, contactList.Count); var account2 = contactList.Single(); var filesystem = await client.GetFilesystemSnapshotAsync(sending); var file = TestData.SmallFile.Find(filesystem); await file.SendToContactAsync(account2, sending); } using (var receiving = feedback.BeginSubOperation("Receiving")) { var client = new MegaClient(TestData.Current.Email2, TestData.Current.Password2); var filesystem = await client.GetFilesystemSnapshotAsync(receiving); var file = TestData.SmallFile.Find(filesystem); Assert.IsNotNull(file); var target = Path.GetTempFileName(); // Verify contents. try { Debug.WriteLine("Temporary local file: " + target); await file.DownloadContentsAsync(target, feedback); using (var expectedContents = TestData.SmallFile.Open()) using (var contents = File.OpenRead(target)) TestHelper.AssertStreamsAreEqual(expectedContents, contents); } finally { File.Delete(target); } } } }
/// <summary> /// Downloads the specified test file and verifies its contents. /// </summary> private async Task TestFileDownload(TestData.TestFile testFile) { var target = Path.GetTempFileName(); try { Debug.WriteLine("Temporary local file: " + target); using (var feedback = new DebugFeedbackChannel("Test")) { using (var initializing = feedback.BeginSubOperation("InitializeData")) await TestData.Current.BringToInitialState(initializing); var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); var filesystem = await client.GetFilesystemSnapshotAsync(feedback); var file = testFile.TryFind(filesystem); if (file == null) Assert.Fail("Could not find expected file to download: " + testFile.Name); await file.DownloadContentsAsync(target, feedback); using (var expectedContents = testFile.Open()) using (var contents = File.OpenRead(target)) TestHelper.AssertStreamsAreEqual(expectedContents, contents); } } finally { File.Delete(target); } }
public async Task AccountListLoad_DoesNotCauseApocalypse() { using (var feedback = new DebugFeedbackChannel("Test")) { using (var initializing = feedback.BeginSubOperation("InitializeData")) await TestData.Current.BringToInitialState(initializing); var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); await client.EnsureConnectedAsync(feedback); await client.GetContactListSnapshotAsync(feedback); } }
public async Task TestAccountInitialization_IsSuccessful() { using (var connecting = new DebugFeedbackChannel("Test")) { using (var initializing = connecting.BeginSubOperation("InitializeData")) { await TestData.Current.BringToInitialState(initializing); var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); await client.EnsureConnectedAsync(connecting); } } }
public async Task SendFolderToContact_SeemsToWork() { using (var feedback = new DebugFeedbackChannel("Test")) { using (var initializing = feedback.BeginSubOperation("InitializeData")) await TestData.Current.BringToInitialState(initializing); using (var sending = feedback.BeginSubOperation("Sending")) { var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); await client.AddContactAsync(TestData.Current.Email2, sending); var contactList = await client.GetContactListSnapshotAsync(sending); Assert.AreEqual(1, contactList.Count); var account2 = contactList.Single(); var filesystem = await client.GetFilesystemSnapshotAsync(sending); var folder = filesystem.Files.Children .Single(i => i.Type == ItemType.Folder && i.Name == "Folder1"); await folder.SendToContactAsync(account2, sending); } using (var receiving = feedback.BeginSubOperation("Receiving")) { var client = new MegaClient(TestData.Current.Email2, TestData.Current.Password2); var filesystem = await client.GetFilesystemSnapshotAsync(receiving); var file = TestData.SmallFile.Find(filesystem); Assert.IsNotNull(file); Assert.IsNotNull(file.Parent); Assert.AreEqual("Folder1", file.Parent.Name); } } }
public async Task CancelingDownload_SeemsToWork() { var target = Path.GetTempFileName(); try { Debug.WriteLine("Temporary local file: " + target); using (var feedback = new DebugFeedbackChannel("Test")) { using (var initializing = feedback.BeginSubOperation("InitializeData")) await TestData.Current.BringToInitialState(initializing); var client = new MegaClient(TestData.Current.Email1, TestData.Current.Password1); var filesystem = await client.GetFilesystemSnapshotAsync(feedback); var file = TestData.BigFile.TryFind(filesystem); if (file == null) Assert.Fail("Could not find the test file to download."); CancellationTokenSource cts = new CancellationTokenSource(TimeSpan.FromSeconds(3)); await file.DownloadContentsAsync(target, feedback, cts.Token); } } finally { File.Delete(target); } }