private async Task SetPasswordFromVault(Subsonic8Configuration appConfiguration) { var configuration = appConfiguration.SubsonicServiceConfiguration; var vault = new PasswordVault(); var credentials = GetCredentialsFromVault(vault); if (credentials == null) { if (!string.IsNullOrWhiteSpace(configuration.BaseUrl)) { var legacyCredentials = await GetLegacyCredentials(); if (legacyCredentials != null) { var passwordCredential = new PasswordCredential( PasswordVaultResourceName, legacyCredentials.Item1, legacyCredentials.Item2); vault.Add(passwordCredential); configuration.Username = legacyCredentials.Item1; configuration.Password = legacyCredentials.Item2; await StorageService.Save(appConfiguration); } } } else { configuration.Username = credentials.UserName; configuration.Password = credentials.Password; } }
public async Task Populate_StorageServiceReturnsANotNullObject_SetsTheObtainedObjectAsTheCurrentConfiguration() { var configuration = new Subsonic8Configuration(); _mockStorageService.LoadFunc = t => configuration; await _subject.Populate(); _subject.Configuration.Should().Be(configuration); }
public async Task SaveSettings_Always_SetsSubsonicServiceToTheCurrentConfiguration() { var configuration = new Subsonic8Configuration(); _mockStorageService.LoadFunc = t => configuration; await _subject.Populate(); await _subject.SaveSettings(); _mockSubsonicService.Configuration.Should().Be(configuration.SubsonicServiceConfiguration); }
public async Task SaveSettings_Always_SetsNotificationServiceToTheCurrentOption() { var configuration = new Subsonic8Configuration { ToastsUseSound = true }; _mockStorageService.LoadFunc = t => configuration; await _subject.Populate(); await _subject.SaveSettings(); _mockToastNotificationService.UseSound.Should().BeTrue(); }