public async Task TestSettingKnownFoldersAndLoggingOnAndOff() { KnownIdentities knownIdentities = new KnownIdentities(Resolve.FileSystemState, Resolve.SessionNotify); KnownFoldersViewModel vm = new KnownFoldersViewModel(Resolve.FileSystemState, Resolve.SessionNotify, knownIdentities); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(0)); IDataContainer betterCloudInfo = New <IDataContainer>(@"C:\BetterCloud"); IDataContainer fasterCloudInfo = New <IDataContainer>(@"C:\FasterCloud"); KnownFolder folder1 = new KnownFolder(betterCloudInfo, @"My AxCrypt", KnownFolderKind.WindowsMyDocuments, null); KnownFolder folder2 = new KnownFolder(fasterCloudInfo, @"My AxCrypt", KnownFolderKind.Dropbox, null); FakeDataStore.AddFolder(folder1.My.FullName); FakeDataStore.AddFolder(folder2.My.FullName); vm.KnownFolders = new KnownFolder[] { folder1, folder2 }; Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False, "We are not signed in so the folder should not be enabled"); Assert.That(vm.KnownFolders.Last().Enabled, Is.False, "We are not signed in so the folder should not be enabled"); await knownIdentities.SetDefaultEncryptionIdentity(new LogOnIdentity("aaa")); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.True, "We are signed in so the folder should be enabled"); Assert.That(vm.KnownFolders.Last().Enabled, Is.True, "We are signed in so the folder should be enabled"); await knownIdentities.SetDefaultEncryptionIdentity(LogOnIdentity.Empty); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False, "We are no longer signed in so the folder should not be enabled"); Assert.That(vm.KnownFolders.Last().Enabled, Is.False, "We are no longer signed in so the folder should not be enabled"); }
public async Task TestFileWasCreatedWhereAKnownFolderWasExpected() { IDataContainer betterCloudInfo = New <IDataContainer>(@"C:\BetterCloud"); IDataContainer fasterCloudInfo = New <IDataContainer>(@"C:\FasterCloud"); KnownFolder folder1 = new KnownFolder(betterCloudInfo, @"My AxCrypt", KnownFolderKind.GoogleDrive, null); KnownFolder folder2 = new KnownFolder(fasterCloudInfo, @"My AxCrypt", KnownFolderKind.Dropbox, null); FakeDataStore.AddFile(@"C:\BetterCloud\My AxCrypt", Stream.Null); FakeDataStore.AddFolder(folder2.My.FullName); KnownIdentities knownIdentities = new KnownIdentities(Resolve.FileSystemState, Resolve.SessionNotify); KnownFoldersViewModel vm = new KnownFoldersViewModel(Resolve.FileSystemState, Resolve.SessionNotify, knownIdentities); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(0)); vm.KnownFolders = new KnownFolder[] { folder1, folder2 }; Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False); Assert.That(vm.KnownFolders.Last().Enabled, Is.False); await knownIdentities.SetDefaultEncryptionIdentity(new LogOnIdentity("aaa")); Assert.That(Resolve.FileSystemState.WatchedFolders.Count(), Is.EqualTo(1)); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False); Assert.That(vm.KnownFolders.Last().Enabled, Is.True); }
public void TestConstructor() { KnownIdentities knownIdentities = new KnownIdentities(Resolve.FileSystemState, Resolve.SessionNotify); KnownFoldersViewModel vm = new KnownFoldersViewModel(Resolve.FileSystemState, Resolve.SessionNotify, knownIdentities); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(0)); }
public async Task TestAlreadyKnownFoldersAndLoggingOn() { IDataContainer betterCloudInfo = New <IDataContainer>(@"C:\BetterCloud"); IDataContainer fasterCloudInfo = New <IDataContainer>(@"C:\FasterCloud"); KnownFolder folder1 = new KnownFolder(betterCloudInfo, @"My AxCrypt", KnownFolderKind.OneDrive, null); KnownFolder folder2 = new KnownFolder(fasterCloudInfo, @"My AxCrypt", KnownFolderKind.WindowsMyDocuments, null); FakeDataStore.AddFolder(folder1.My.FullName); FakeDataStore.AddFolder(folder2.My.FullName); await Resolve.FileSystemState.AddWatchedFolderAsync(new WatchedFolder(folder1.My.FullName, new LogOnIdentity("PassPhrase").Tag)); await Resolve.FileSystemState.AddWatchedFolderAsync(new WatchedFolder(folder2.My.FullName, new LogOnIdentity(new Passphrase("aaa")).Tag)); KnownIdentities knownIdentities = new KnownIdentities(Resolve.FileSystemState, Resolve.SessionNotify); KnownFoldersViewModel vm = new KnownFoldersViewModel(Resolve.FileSystemState, Resolve.SessionNotify, knownIdentities); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(0)); vm.KnownFolders = new KnownFolder[] { folder1, folder2 }; Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False); Assert.That(vm.KnownFolders.Last().Enabled, Is.False); await knownIdentities.SetDefaultEncryptionIdentity(new LogOnIdentity("aaa")); Assert.That(vm.KnownFolders.Count(), Is.EqualTo(2)); Assert.That(vm.KnownFolders.First().Enabled, Is.False, "This folder should not be enabled, because it's not watched by the signed in identity."); Assert.That(vm.KnownFolders.Last().Enabled, Is.True, "This folder should be enabled, since it is watched by the signed in identity."); }