public void ReadAndAddPasswordToRegistry_Should_Prompt_And_Add_Non_Null_Passwords() { _passwordReader.ReadSecurePassword().ReturnsForAnyArgs(_secureString); var registryType = PasswordRegistryTypes.CertificatePassword; _passwordReader.ReadSecurePassword(Arg.Any <string>()).Returns(_secureString); var retrievedPassword = _passwordManager.RetrieveOrPromptAndAddPasswordToRegistry(registryType); _passwordReader.Received(1).ReadSecurePassword(Arg.Is <string>(s => s.Contains(registryType.Name))); _passwordRegistry.Received(1).AddItemToRegistry(registryType, _secureString); retrievedPassword.Should().Be(_secureString); }
/// <inheritdoc /> public SecureString RetrieveOrPromptPassword(PasswordRegistryTypes passwordType, string promptMessage = null) { var password = _passwordRegistry.GetItemFromRegistry(passwordType) ?? _passwordReader.ReadSecurePassword(promptMessage ?? $"Please enter your {passwordType.Name}"); return(password); }