a
    xd+
                     @   sz   d dl mZ zd dlmZ W n   d dlmZ Y n0 zd dlmZ W n   d dlmZ Y n0 ddgZG dd dZ	dS )    )User)patch)reverseHelperMixinr   c                   @   s>   e Zd ZdZdd Zdd Zddd	Zdd
dZdddZdS )r   zo
    Mixin which encapsulates methods for login, logout, request reset password and reset password confirm
    c                 C   s"   t d| _t d| _t d| _dS )z/ set up urls by using djangos reverse function z%password_reset:reset-password-requestz%password_reset:reset-password-confirmz&password_reset:reset-password-validateN)r   reset_password_request_urlreset_password_confirm_url!reset_password_validate_token_url)self r
   J/var/www/html/Ranjet/env/lib/python3.9/site-packages/tests/test/helpers.py	setUpUrls   s    

zHelperMixin.setUpUrlsc                 C   s   t jj|d }||S )z
        Checks the django login by querying the user from the database and calling check_password()
        :param username:
        :param password:
        :return:
        )username)r   ZobjectsfilterfirstZcheck_password)r	   r   passworduserr
   r
   r   django_check_login"   s    zHelperMixin.django_check_login 	127.0.0.1c                 C   s    d|i}| j j| j|d||dS )z8 REST API wrapper for requesting a password reset token emailjsonformatHTTP_USER_AGENTREMOTE_ADDR)clientpostr   )r	   r   r   r   datar
   r
   r   rest_do_request_reset_token-   s    z'HelperMixin.rest_do_request_reset_tokenc                 C   s"   ||d}| j j| j|d||dS )z@ REST API wrapper for resetting a user's password using a token )tokenr   r   r   )r   r   r   )r	   r   Znew_passwordr   r   r   r
   r
   r   !rest_do_reset_password_with_token;   s    z-HelperMixin.rest_do_reset_password_with_tokenc                 C   s    d|i}| j j| j|d||dS )z) REST API wrapper for validating a token r   r   r   )r   r   r   )r	   r   r   r   r   r
   r
   r   rest_do_validate_tokenJ   s    z"HelperMixin.rest_do_validate_tokenN)r   r   )r   r   )r   r   )	__name__
__module____qualname____doc__r   r   r   r    r!   r
   r
   r
   r   r      s   

N)
Zdjango.contrib.auth.modelsr   Zunittest.mockr   ZmockZdjango.urlsr   Zdjango.core.urlresolvers__all__r   r
   r
   r
   r   <module>   s   