def setUp(self):
        self.password_repository = PasswordRepository(test_database_connection())
        self.password_service = PasswordService(self.password_repository)
        self.password_repository.delete_all_passwords()

        self.user_repository = UserRepository(test_database_connection())
        self.user_service = UserService(self.user_repository)

        self.test_user_one = User("test_user_one", "test_pw1")
        self.test_user_two = User("test_user_two", "test_pw2")
        self.user_service.create_user(self.test_user_one)
        self.user_service.create_user(self.test_user_two)
Esempio n. 2
0
 def __init__(self, root, handle_user_view, user=None):
     """Konstruktori, luo uuden salasanojen lisäyksestä vastaavan näkymän
     
     Args:
         root: Juurielementti, joka hallitsee nykyistä näkymää
         handle_user_view: UI-luokan metodi, joka siirtää näkymän UserViewiin
         user: Kirjautunut käyttäjä, oletusarvoltaan None
     """
     self._root = root
     self._frame = None
     self.user = user
     self._handle_user_view = handle_user_view
     self._password_service = PasswordService()
     self._initialize()
    def __init__(self, root, user, handle_login_view,
                 handle_add_password_view):
        """Käyttäjänäkymästä vastaava käyttöliittymäluokka

        Args:
            root: Juurielementti, joka hallitsee nykyistä näkymää
            user: User-luokan olio
            handle_login_view: UI-luokan metodi, joka siirtää näkymän LoginViewiin
            handle_add_password_view: UI-luokan metodi, joka siirtää näkymän AddPasswordViewiin
        """
        self._root = root
        self._frame = None
        self.user = user
        self._password_service = PasswordService()
        self._handle_login_view = handle_login_view
        self._handle_add_password_view = handle_add_password_view
        self._initialize()
    def post(self):
        password_config = get_password_config()
        user_type = _USER_TYPE_INVEST

        argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
            must_keys=['user_id', 'old_password', 'new_password'],
            api_type=_USER_TYPE_INVEST,
            request_type=_REQUEST_TYPE_LOGIN,
            check_form_token=True)

        if 'change_method' in password_config and password_config[
                'change_method'] != "":
            password_check_service = PasswordService(
                aes_share_key=aes_share_key, aes_nonce=aes_nonce)
            # 自己的修改密码方法
            if hasattr(password_check_service,
                       password_config['change_method']):
                method_name = password_config['change_method']
                tmp_method = eval('password_check_service.' + method_name)
                r = tmp_method(argument_dict, user_type=user_type)
            else:
                r = password_check_service.base_check_method(
                    argument_dict, user_type=user_type)
            if r['status'] == _PASSWORD_CHECK_TYPE_SUCCESS:
                return r, aes_share_key, aes_nonce
            elif r['status'] == _PASSWORD_CHECK_TYPE_REDIRECT:
                return redirect(r['rediret_url'])
            else:
                self.return_error(30211)

        user_id = argument_dict['user_id']
        old_password = argument_dict['old_password']
        new_password = argument_dict['new_password']

        r = UserBaseService(aes_share_key=aes_share_key, aes_nonce=aes_nonce).\
            change_login_password(user_id, old_password, new_password)
        return r, aes_share_key, aes_nonce