ó
O'^c           @   s   d  d l  m Z d  d l Z d  d l m Z d d l m Z d d l m Z d d l	 m
 Z
 e
   Z e   Z d e f d	     YZ d S(
   i’’’’(   t   TestCaseN(   t   Requesti   (   t   OAuth2Validator(   t   get_application_model(   t   get_user_modelt   TestOAuth2Validatorc           B   s}   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         C   s   t  j j d d d  |  _ t j d t  |  _ d  |  j _	 t
   |  _ t j j d d d d d |  j d t j d t j  |  _ d  S(	   Nt   users   test@user.comt   123456t   wrapst	   client_idt   client_secrett   client_typet   authorization_grant_type(   t	   UserModelt   objectst   create_userR   t   mockt	   MagicMockR   t   requestt   Nonet   clientR   t	   validatort   AppModelt   createt   CLIENT_PUBLICt   GRANT_PASSWORDt   application(   t   self(    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   setUp   s    c         C   s   |  j  j   d  S(   N(   R   t   delete(   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   tearDown   s    c         C   s   d |  j  _ d |  j  _ |  j |  j j |  j    d |  j  _ |  j |  j j |  j    d |  j  _ |  j |  j j |  j    d  S(   NR	   t    t   wrong_client_secretR
   (   R   R	   R
   t   assertFalseR   t   _authenticate_request_bodyt
   assertTrue(   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   test_authenticate_request_body   s    c         C   sī   i d d 6|  j  _ |  j |  j j |  j   d  i  |  j  _ |  j |  j j |  j    i d d 6|  j  _ |  j |  j j |  j    i d d 6|  j  _ |  j |  j j |  j    i d d 6|  j  _ |  j |  j j |  j   d  d  S(   Ns   Basic 123456t   HTTP_AUTHORIZATIONR   s   Dummy 123456t   Basics   Basic 123456 789s
   123456 789(   R   t   headerst   assertEqualR   t   _extract_basic_autht   assertIsNone(   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   test_extract_basic_auth&   s    c         C   s?   d |  j  _ i d d 6|  j  _ |  j |  j j |  j    d  S(   Ns   utf-8s'   Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=
R%   (   R   t   encodingR'   R#   R   t   _authenticate_basic_auth(   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   test_authenticate_basic_auth2   s    c         C   s?   d |  j  _ i d d 6|  j  _ |  j |  j j |  j    d  S(   Ns   utf-8s'   Basic d3JvbmdfaWQ6Y2xpZW50X3NlY3JldA==
R%   (   R   R,   R'   R!   R   R-   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt,   test_authenticate_basic_auth_wrong_client_id8   s    c         C   s?   d |  j  _ i d d 6|  j  _ |  j |  j j |  j    d  S(   Ns   utf-8s'   Basic Y2xpZW50X2lkOndyb25nX3NlY3JldA==
R%   (   R   R,   R'   R!   R   R-   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt0   test_authenticate_basic_auth_wrong_client_secret>   s    c         C   s?   d |  j  _ i d d 6|  j  _ |  j |  j j |  j    d  S(   Ns   utf-8s   Basic not_base64R%   (   R   R,   R'   R!   R   R-   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt0   test_authenticate_basic_auth_not_b64_auth_stringD   s    c         C   s?   d |  j  _ i d d 6|  j  _ |  j |  j j |  j    d  S(   Ns   utf-8s
   Basic testR%   (   R   R,   R'   R!   R   R-   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt%   test_authenticate_basic_auth_not_utf8J   s    c         C   s#   |  j  |  j j d |  j   d  S(   NR	   (   R#   R   t   authenticate_client_idR   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   test_authenticate_client_idP   s    c         C   s^   t  j |  j _ |  j j   |  j |  j j d |  j   |  j |  j j d |  j   d  S(   NR	   t   fake_client_id(	   R   t   CLIENT_CONFIDENTIALR   R   t   saveR!   R   R3   R   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt    test_authenticate_client_id_failS   s    c         C   sß   i d d 6|  j  _ |  j |  j j |  j    i  |  j  _ d |  j  _ d |  j  _ |  j |  j j |  j    d |  j  _ |  j |  j j |  j    t j	 |  j
 _ |  j
 j   d |  j  _ |  j |  j j |  j    d  S(   Ns   Basic 123456R%   R	   R
   R   (   R   R'   R#   R   t   client_authentication_requiredR	   R
   R!   R   R6   R   R   R7   R   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt#   test_client_authentication_requiredY   s    c         C   s    |  j  t |  j j d i   d  S(   NR	   (   t   assertRaisest   AssertionErrorR   R3   (   R   (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt6   test_load_application_fails_when_request_has_no_clientg   s    (   t   __name__t
   __module__R   R   R$   R+   R.   R/   R0   R1   R2   R4   R8   R:   R=   (    (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyR      s   													(   t   django.testR    R   t   oauthlib.commonR   t   oauth2_validatorsR   t   modelsR   t   compatR   R   R   R   (    (    (    sN   /tmp/pip-unpacked-wheel-ndW12l/oauth2_provider/tests/test_oauth2_validators.pyt   <module>   s   		