예제 #1
0
        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);
        }
예제 #2
0
        /// <inheritdoc />
        public SecureString RetrieveOrPromptPassword(PasswordRegistryTypes passwordType, string promptMessage = null)
        {
            var password = _passwordRegistry.GetItemFromRegistry(passwordType) ??
                           _passwordReader.ReadSecurePassword(promptMessage ??
                                                              $"Please enter your {passwordType.Name}");

            return(password);
        }