예제 #1
0
        static void Main()
        {
            //AccountService s = new AccountService();
            //s.OpenOrganization(new ViewModels.OpenOrganizationViewModel()
            //{
            //    OrganizationIdentificationNumber = "2589645",
            //    OrganizationFullName = "АО 'КТГ'",
            //    OrganizationTypeId = 1,
            //    CeoFirstName = "R",
            //    CeoLastName = "L",
            //    CeoMiddleName = "M",
            //    Email = "*****@*****.**",
            //    DoB = new DateTime(1986, 05, 12)
            //});

            // PasswordService ps = new PasswordService();
            //ps.CreatePassword(new ViewModels.CreatePassword()
            //{

            //    PasswordHash = "ааа"
            //});
            CreatePassword cp = new CreatePassword()
            {
                Email                   = "*****@*****.**",
                oldPassword             = "******",
                newPassword             = "******",
                newPasswordConfirmation = "newqwerty"
            };

            PasswordService p = new PasswordService();

            p.ChangeUserPassword(cp);


            //s.GetGeolocationInfo();

            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
        }
        public void ChangeUserPasswordTest()
        {
            IDatabase        db = DatabaseFactory.GetDatabase(Database.InMemory);
            IPasswordService passwordService = new PasswordService(db, new MasterPassword(), new RijndaelManagedEncryption());

            CreateUserResult         createUserResult;
            ChangeUserPasswordResult changeUserPasswordResult;
            LoginResult  loginResult;
            LogOutResult logoutResult;
            User         user;

            user             = new User("testAccount", "testPassword1@", "testFirstName", "testLastName", "222-111-1111", "*****@*****.**");
            createUserResult = passwordService.CreateNewUser(user);
            Assert.AreEqual(CreateUserResult.Successful, createUserResult);
            Assert.AreEqual(1, ((InMemoryDatabase)db).LocalUserDbAccess.Count);

            // Not logged in
            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@", "testPassword1@2", "testPassword1@2");
            Assert.AreEqual(ChangeUserPasswordResult.Failed, changeUserPasswordResult);

            loginResult = passwordService.Login("testAccount", "testPassword1@");
            Assert.AreEqual(LoginResult.Successful, loginResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@", "testPassword1@2", "testPassword1@2");
            Assert.AreEqual(ChangeUserPasswordResult.Success, changeUserPasswordResult);

            logoutResult = passwordService.Logout();
            Assert.AreEqual(LogOutResult.Success, logoutResult);

            loginResult = passwordService.Login("testAccount", "testPassword1@");
            Assert.AreEqual(LoginResult.PasswordIncorrect, loginResult);

            loginResult = passwordService.Login("testAccount", "testPassword1@2");
            Assert.AreEqual(LoginResult.Successful, loginResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "1@3aA", "1@3aA");
            Assert.AreEqual(ChangeUserPasswordResult.LengthRequirementNotMet, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "1@3AAAAAAAAAAAAA", "1@3AAAAAAAAAAAAA");
            Assert.AreEqual(ChangeUserPasswordResult.NoLowerCaseCharacter, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "a@GAAAAAAAAAAAAA", "a@GAAAAAAAAAAAAA");
            Assert.AreEqual(ChangeUserPasswordResult.NoNumber, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "1A3aaaaaaaaaaaaa", "1A3aaaaaaaaaaaaa");
            Assert.AreEqual(ChangeUserPasswordResult.NoSpecialCharacter, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "1@3aaaaaaaaaaaaa", "1@3aaaaaaaaaaaaa");
            Assert.AreEqual(ChangeUserPasswordResult.NoUpperCaseCharacter, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "1@3aaaaaaaaaaaaa", "1@3aaaaaaaaaaaaaZ");
            Assert.AreEqual(ChangeUserPasswordResult.PasswordsDoNotMatch, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "", "");
            Assert.AreEqual(ChangeUserPasswordResult.Failed, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", null, null);
            Assert.AreEqual(ChangeUserPasswordResult.Failed, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@2", "testPassword1@", "testPassword1@");
            Assert.AreEqual(ChangeUserPasswordResult.Success, changeUserPasswordResult);

            changeUserPasswordResult = passwordService.ChangeUserPassword("testPassword1@", "testPassword1@2~`!@#$%^&*()_+{}[]|@\'';:.>,</?\"", "testPassword1@2~`!@#$%^&*()_+{}[]|@\'';:.>,</?\"");
            Assert.AreEqual(ChangeUserPasswordResult.Success, changeUserPasswordResult);

            logoutResult = passwordService.Logout();
            Assert.AreEqual(LogOutResult.Success, logoutResult);

            loginResult = passwordService.Login("testAccount", "testPassword1@2~`!@#$%^&*()_+{}[]|@\'';:.>,</?\"");
            Assert.AreEqual(LoginResult.Successful, loginResult);
        }