Beispiel #1
0
        public void AddPassword_AbsolutePath_ThrowsArgumentException()
        {
            var fileSystem        = new MockFileSystemBuilder().Build();
            var passwordDirectory = new MockDirectoryInfo(fileSystem, passwordStorePath);
            var passwordManager   = new PasswordManager(passwordDirectory, new FakeCryptoService(fileSystem), Mock.Of <IRecipientFinder>(), new PasswordFileParser(new UsernameDetectionConfig()));

            Should.Throw <ArgumentException>(() => passwordManager.AddPassword(@"C:\password-store\new_password", "new_content", null));
        }
Beispiel #2
0
        public void AddPassword_WithExistingFile_ThrowsInvalidOperationException()
        {
            var fileSystem = new MockFileSystemBuilder()
                             .WithFile(@"C:\password-store\password_1", "password_1_content")
                             .Build();
            var passwordDirectory = new MockDirectoryInfo(fileSystem, passwordStorePath);
            var passwordManager   = new PasswordManager(passwordDirectory, new FakeCryptoService(fileSystem), Mock.Of <IRecipientFinder>(), new PasswordFileParser(new UsernameDetectionConfig()));

            Should.Throw <InvalidOperationException>(() => passwordManager.AddPassword(@"password_1", "new_content", null));
        }
Beispiel #3
0
        public void AddPassword_RelativePath_AddsPasswordAtLocationRelativeToPasswordStore()
        {
            var fileSystem = new MockFileSystemBuilder()
                             .WithFile(@"C:\password-store\password_1", "password_1_content")
                             .Build();
            var passwordDirectory = new MockDirectoryInfo(fileSystem, passwordStorePath);
            var passwordManager   = new PasswordManager(passwordDirectory, new FakeCryptoService(fileSystem), Mock.Of <IRecipientFinder>(), new PasswordFileParser(new UsernameDetectionConfig()));

            passwordManager.AddPassword(@"sub\new_password", "new_content", null);

            fileSystem.File.ReadAllText(@"C:\password-store\sub\new_password").ShouldBe("new_content");
        }