Esempio n. 1
0
        public void RemoveTitle(string title, string superPassword)
        {
            var record = vault.Get(title);
            var sign   = cipher.CalculateHash(superPassword);

            if (record.Sign != sign)
            {
                throw new InvalidSuperPasswordException();
            }
            vault.Remove(title);
        }
Esempio n. 2
0
        public void VaultsFunctionalityTest(IVault vault)
        {
            var titles = vault.GetTitles();

            Assert.Empty(titles);

            var title          = "Test";
            var cipherPassword = "******";
            var sign           = "jo1h23o7tb120d301823801";
            var record         = new VaultRecord
            {
                Title          = title,
                CipherPassword = cipherPassword,
                Sign           = sign
            };

            vault.Store(record);
            titles = vault.GetTitles();

            Assert.True(titles.Count() == 1);
            Assert.True(titles.ElementAt(0) == title);
            Assert.Throws <TitleAlreadyPresentException>(() => vault.Store(record));

            record = vault.Get(title);

            Assert.Equal(title, record.Title);
            Assert.Equal(cipherPassword, record.CipherPassword);
            Assert.Equal(sign, record.Sign);

            Assert.Throws <TitleNotFoundException>(() => vault.Get("Title not present"));

            var resultRemove = vault.Remove(title);

            titles = vault.GetTitles();

            Assert.True(resultRemove);
            Assert.True(titles.Count() == 0);
        }