Пример #1
0
        public void TestMinMaxIDs()
        {
            var mockTime = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(0)));
            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(uint.MinValue)));
            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(uint.MaxValue)));
        }
Пример #2
0
        public void TestMinMaxIDs()
        {
            var mockTime        = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(0)));
            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(uint.MinValue)));
            Assert.IsTrue(!String.IsNullOrEmpty(passwordManager.CreatePassword(uint.MaxValue)));
        }
Пример #3
0
        public void TestOneTimeValidity()
        {
            var mockTime = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            Assert.IsTrue(passwordManager.NumPasswordsStored == 0);
            string pass1 = passwordManager.CreatePassword(1);
            Assert.IsTrue(passwordManager.NumPasswordsStored == 1);
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));
            Assert.IsTrue(passwordManager.NumPasswordsStored == 0);
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));
        }
Пример #4
0
        public void TestOneTimeValidity()
        {
            var mockTime        = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            Assert.IsTrue(passwordManager.NumPasswordsStored == 0);
            string pass1 = passwordManager.CreatePassword(1);

            Assert.IsTrue(passwordManager.NumPasswordsStored == 1);
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));
            Assert.IsTrue(passwordManager.NumPasswordsStored == 0);
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));
        }
Пример #5
0
        public void TestTimeValidity()
        {
            var mockTime        = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            // Check current time prior to pass creation
            mockTime.Time = 1000;
            string pass1 = passwordManager.CreatePassword(1);

            mockTime.Time -= 1;
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));

            // Check max valid time
            mockTime.Time = 1000;
            pass1         = passwordManager.CreatePassword(1);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));

            // Check max valid time plus 1 ms
            mockTime.Time = 1000;
            pass1         = passwordManager.CreatePassword(1);

            mockTime.Time += passwordManager.TimeValidity + 1;
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));

            // Check time validity increment when generating password to the same user
            mockTime.Time  = 1000;
            pass1          = passwordManager.CreatePassword(1);
            mockTime.Time += passwordManager.TimeValidity;
            string pass2 = passwordManager.CreatePassword(1);

            Assert.AreEqual(pass1, pass2);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));

            // Check creating a new pass when time is expired gives a different pass
            mockTime.Time  = 1000;
            pass1          = passwordManager.CreatePassword(1);
            mockTime.Time += passwordManager.TimeValidity + 1;
            pass2          = passwordManager.CreatePassword(1);
            Assert.AreNotEqual(pass1, pass2);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass2));
        }
Пример #6
0
        public void TestTimeValidity()
        {
            var mockTime = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            // Check current time prior to pass creation
            mockTime.Time = 1000;
            string pass1 = passwordManager.CreatePassword(1);

            mockTime.Time -= 1;
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));

            // Check max valid time
            mockTime.Time = 1000;
            pass1 = passwordManager.CreatePassword(1);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));

            // Check max valid time plus 1 ms
            mockTime.Time = 1000;
            pass1 = passwordManager.CreatePassword(1);

            mockTime.Time += passwordManager.TimeValidity + 1;
            Assert.IsFalse(passwordManager.IsPasswordValid(1, pass1));

            // Check time validity increment when generating password to the same user
            mockTime.Time = 1000;
            pass1 = passwordManager.CreatePassword(1);
            mockTime.Time += passwordManager.TimeValidity;
            string pass2 = passwordManager.CreatePassword(1);
            Assert.AreEqual(pass1, pass2);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass1));

            // Check creating a new pass when time is expired gives a different pass
            mockTime.Time = 1000;
            pass1 = passwordManager.CreatePassword(1);
            mockTime.Time += passwordManager.TimeValidity + 1;
            pass2 = passwordManager.CreatePassword(1);
            Assert.AreNotEqual(pass1, pass2);

            mockTime.Time += passwordManager.TimeValidity;
            Assert.IsTrue(passwordManager.IsPasswordValid(1, pass2));
        }
Пример #7
0
        public void TestExpiredPasswordsDeletion()
        {
            var mockTime = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            mockTime.Time = 1000;
            string pass1 = passwordManager.CreatePassword(1);
            string pass2 = passwordManager.CreatePassword(2);
            string pass3 = passwordManager.CreatePassword(3);

            mockTime.Time += passwordManager.TimeValidity + 1;
            string pass4 = passwordManager.CreatePassword(4);
            string pass5 = passwordManager.CreatePassword(5);

            Assert.IsTrue(passwordManager.NumPasswordsStored == 5);
            passwordManager.RemoveExpiredPasswords();
            Assert.IsTrue(passwordManager.NumPasswordsStored == 3);
        }
Пример #8
0
        public void TestExpiredPasswordsDeletion()
        {
            var mockTime        = new MockTimeManager();
            var passwordManager = new PasswordManager(mockTime);

            mockTime.Time = 1000;
            string pass1 = passwordManager.CreatePassword(1);
            string pass2 = passwordManager.CreatePassword(2);
            string pass3 = passwordManager.CreatePassword(3);

            mockTime.Time += passwordManager.TimeValidity + 1;
            string pass4 = passwordManager.CreatePassword(4);
            string pass5 = passwordManager.CreatePassword(5);

            Assert.IsTrue(passwordManager.NumPasswordsStored == 5);
            passwordManager.RemoveExpiredPasswords();
            Assert.IsTrue(passwordManager.NumPasswordsStored == 3);
        }