public void ViewModelDataTest() { var viewModel = new DatabaseSettingsViewModel(mock.Object); Assert.That(viewModel.Username, Is.EqualTo(mockData.Username)); Assert.That(viewModel.Password, Is.EqualTo(mockData.Password)); Assert.That(viewModel.DatabaseName, Is.EqualTo(mockData.DatabaseName)); Assert.That(viewModel.ServerName, Is.EqualTo(mockData.ServerName)); Assert.That(viewModel.IntegratedSecurity, Is.False); }
public async Task Init() { // Get database from test attributes Utils.DatabaseInfo dbInfo = await Utils.GetDatabaseInfoForTest(TestContext); this.dbPassword = dbInfo.Password; this.dbKeyFile = dbInfo.Keyfile; // Assert that databases named *ReadOnly* are actually readonly after a clone if (dbInfo.Database.Name.IndexOf("ReadOnly", StringComparison.OrdinalIgnoreCase) >= 0) { Assert.IsFalse( await dbInfo.Database.CheckWritableAsync(), $"This file is expected to be read-only; please verify this before testing: {dbInfo.Database.Name}" ); } this.saveFile = (await dbInfo.Database.AsIStorageFile.CopyAsync( ApplicationData.Current.TemporaryFolder, $"PersistenceTestDb-{Guid.NewGuid()}.kdbx", NameCollisionOption.ReplaceExisting )).AsWrapper(); // Use a KdbxReader to parse the database and get a corresponding writer KdbxReader reader = new KdbxReader(); using (IRandomAccessStream stream = await this.saveFile.AsIStorageFile.OpenReadAsync()) { await reader.ReadHeaderAsync(stream, CancellationToken.None); KdbxDecryptionResult decryption = await reader.DecryptFileAsync(stream, dbInfo.Password, dbInfo.Keyfile, CancellationToken.None); Assert.AreEqual(KdbxParserCode.Success, decryption.Result.Code); this.document = decryption.GetDocument(); } // Construct services we can use for the test this.writer = reader.GetWriter(); this.persistenceService = new DefaultFilePersistenceService( this.writer, this.writer, new StorageFileDatabaseCandidate(this.saveFile, true), new MockSyncContext(), true ); this.credentialStorage = new MockCredentialProvider(); this.masterKeyVm = new MasterKeyChangeViewModel( this.document, this.saveFile, new DatabaseCredentialProvider(this.persistenceService, this.credentialStorage), new MockFileService() ); this.settingsVm = new DatabaseSettingsViewModel(this.writer); }
public void ViewModelLoadTest() { var viewModel = new DatabaseSettingsViewModel(mock.Object) { IntegratedSecurity = true, Password = "******", Username = "******" }; viewModel.SettingMediatorOnSaveRequested(null, EventArgs.Empty); var viewModel2 = new DatabaseSettingsViewModel(mock.Object); Assert.That(viewModel2.IntegratedSecurity, Is.True); Assert.That(viewModel2.Password, Is.EqualTo("NEWPASSWORD")); Assert.That(viewModel2.Username, Is.EqualTo("NEWUSERNAME")); }
public SelectDatabaseFileCommand(DatabaseSettingsViewModel viewModel) : base(viewModel) { }
protected DatabaseFileCommandBase(DatabaseSettingsViewModel viewModel) { ViewModel = viewModel; }
public CreateDatabaseFileCommand(DatabaseSettingsViewModel viewModel) : base(viewModel) { }
private void SaveSettings(DatabaseSettingsViewModel settingsViewModel, UIElement _) { var dataSource = _bootstrapper.GetInstance<IPWDatabaseDataSource>(); //The settings view model sets the properties directly on the IKdbTree, so we just need to save the database here dataSource.SavePwDatabase(); }
private void SettingsClosed(DatabaseSettingsViewModel s, UIElement v) { SaveSettings(s, v); }