ó
Đ9Nc           @   s·   d  Z  d d l Z d d l Z d d l m Z d d l Z d e j j f d     YZ	 d e j j f d     YZ
 d e j f d	     YZ d
   Z e d k rģ e j d d  n  d S(   s7   
Test case to access the keyring from the command line
iĸĸĸĸN(   t   clit   FakeKeyringc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   t
   GABUZOMEUHc         C   s   d S(   Ni   (    (   t   self(    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt	   supported   s    c         C   s   d  S(   N(    (   R   t   servicet   usernamet   password(    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   set_password   s    c         C   s   |  j  S(   N(   t   PASSWORD(   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   get_password   s    (   t   __name__t
   __module__R	   R   R   R
   (    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR      s   		t   SimpleKeyringc           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   s   A very simple keyringc         C   s   i  |  _  d  S(   N(   t   pwd(   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   __init__   s    c         C   s   d S(   Ni   (    (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR      s    c         C   s   | |  j  | | f <d  S(   N(   R   (   R   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR   !   s    c         C   s.   y |  j  | | f SWn t k
 r) d  SXd  S(   N(   R   t   KeyErrort   None(   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR
   $   s    (   R   R   t   __doc__R   R   R   R
   (    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR      s
   			t   CommandLineTestCasec           B   sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C   se   t  j   |  _ t j |  _ t j |  _ t  j t	    d |  _
 d  |  _ |  j t _ |  j t _ d  S(   Nt    (   t   keyringt   get_keyringt   old_keyringR    t   input_passwordt   old_input_passwordt   output_passwordt   old_output_passwordt   set_keyringR   R   R   t   password_returnedt   return_passwordt   save_password(   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   setUp,   s    		c         C   s,   t  j |  j  |  j t _ |  j t _ d  S(   N(   R   R   R   R   R    R   R   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   tearDown7   s    c         O   s   |  j  S(   N(   R   (   R   t   argst   kwargs(    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR   <   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR   ?   s    c         C   sę   |  j  d t j g    |  j t t j d g  |  j t t j d d g  |  j t t j d d d d g  |  j t t j d g  |  j t t j d d g  |  j t t j d d d d g  |  j t t j d d d g  d  S(   Ni   t   gett   foot   bart   bazt   set(   t   assertEqualR    t   maint   assertRaisest
   SystemExit(   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_wrong_argumentsC   s    ""c         C   s9   |  j  d t j d d d g   |  j  d  |  j  d  S(   Ni   R$   R%   R&   (   R)   R    R*   R   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_get_unexistent_passwordP   s    "c         C   sd   d |  _  |  j d t j d d d g   |  j d t j d d d g   |  j d |  j  d  S(   Nt   plopi    R(   R%   R&   R$   (   R   R)   R    R*   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_set_and_get_passwordT   s    	""c         C   sT   |  j  d t j d d d d d g   t j   } |  j t | t j j   d  S(   Ni   R$   s   -bs$   keyring.backend.UncryptedFileKeyringR%   R&   (	   R)   R    R*   R   R   t
   assertTruet
   isinstancet   backendt   UncryptedFileKeyring(   R   R3   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_load_builtin_backendZ   s    c      
   C   sx   t  j j t  j j t j  d  } |  j d t j d d d d | d d g   t j	   } |  j t
 j |  j  d  S(	   Nt   testsi    R$   s   -bs   test_cli.FakeKeyrings   -pR%   R&   (   t   ost   patht   joint   dirnameR   t   __file__R)   R    R*   R   R   R	   R   (   R   t   keyring_pathR3   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt$   test_load_specific_backend_with_pathb   s    $c         C   ss   |  j  t t j d d d d d g  |  j  t t j d d d d d g  |  j  t t j d d d d d g  d  S(   NR$   R%   R&   s   -bt	   blablablas   os.path.blablas   __builtin__.str(   R+   R,   R    R*   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_load_wrong_keyringso   s    			(   R   R   R    R!   R   R   R-   R.   R0   R5   R=   R?   (    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR   +   s   									c          C   s&   t  j   }  |  j t  j t   |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   (   t   suite(    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt
   test_suite   s    t   __main__t   defaultTestRE   (   R   t   os.pathR7   R@   R   R    t   keyring.backendR3   t   KeyringBackendR   R   t   TestCaseR   RE   R   R*   (    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   <module>   s   T	