ó
F+ÞOc           @   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   sk   e  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 ƒ  |  _ t j ƒ  |  _ |  j |  j _ |  j |  j _ |  j	 |  j j
 _ d „  |  j j
 _ t  j t ƒ  ƒ d |  _ d  |  _ d  |  _ d  S(   Nc           S   s   d  S(   N(   R   (    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   <lambda>3   s    t    (   t   keyringt   get_keyringt   old_keyringR    t   CommandLineToolt   return_passwordt   input_passwordt   save_passwordt   output_passwordt
   mock_errort   parsert   errort
   print_helpt   set_keyringR   R   R   t   password_returnedt
   last_error(   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   setUp,   s    		c         C   s   t  j |  j ƒ d  S(   N(   R   R"   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   tearDown;   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   A   s    c         C   s   | |  _  t ƒ  ‚ d  S(   N(   R$   t
   SystemExit(   R   R    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyR   D   s    	c         C   s  |  j  d |  j j g  ƒ ƒ |  j t |  j j d g ƒ |  j t |  j j d d g ƒ |  j t |  j j d d d d g ƒ |  j t |  j j d g ƒ |  j t |  j j d d g ƒ |  j t |  j j d d d d g ƒ |  j t |  j j d d d g ƒ d  S(   Ni   t   gett   foot   bart   bazt   set(   t   assertEqualR    t   runt   assertRaisesR)   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_wrong_argumentsH   s    c         C   s<   |  j  d |  j j d d d g ƒ ƒ |  j  d  |  j ƒ d  S(   Ni   R*   R+   R,   (   R/   R    R0   R   R#   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_get_unexistent_passwordW   s    %c         C   sj   d |  _  |  j d |  j j d d d g ƒ ƒ |  j d |  j j d d d g ƒ ƒ |  j d |  j ƒ d  S(   Nt   plopi    R.   R+   R,   R*   (   R   R/   R    R0   R#   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_set_and_get_password[   s    	%%c         C   sW   |  j  d |  j 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    R0   R   R   t
   assertTruet
   isinstancet   backendt   UncryptedFileKeyring(   R   R8   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_load_builtin_backenda   s    c      
   C   s{   t  j j t  j j t j ƒ d ƒ } |  j d |  j 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    R0   R   R   R	   R#   (   R   t   keyring_pathR8   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt$   test_load_specific_backend_with_pathj   s    $c         C   s|   |  j  t |  j j d d d d d g ƒ |  j  t |  j j d d d d d g ƒ |  j  t |  j j d d d d d g ƒ d  S(   NR*   R+   R,   s   -bt	   blablablas   os.path.blablas   __builtin__.str(   R1   R)   R    R0   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   test_load_wrong_keyringsw   s    			(   R   R   R%   R&   R   R   R   R2   R3   R5   R:   RB   RD   (    (    (    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   defaultTestRJ   (   R   t   os.pathR<   RE   R   R    t   keyring.backendR8   t   KeyringBackendR   R   t   TestCaseR   RJ   R   t   main(    (    (    s:   /usr/lib/python2.7/dist-packages/keyring/tests/test_cli.pyt   <module>   s   \	