ó
­«Y]c           @   s‘   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z e j Z d e j	 f d „  ƒ  YZ
 d „  Z e d k r e ƒ  n  d S(   iÿÿÿÿN(   t   test_supportt   NetrcTestCasec           B   s°   e  Z e d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d d „ Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z e j e j d k d ƒ d „  ƒ Z RS(   c         C   s   t  j | ƒ } d } t j d k r1 | d 7} n  t t | ƒ  } | j | ƒ Wd  QX| rr |  j t j	 t ƒ n  t
 j
 t ƒ S(   Nt   wt   cygwint   t(   t   textwrapt   dedentt   syst   platformt   opent   temp_filenamet   writet
   addCleanupt   ost   unlinkt   netrc(   t   selft	   test_datat   cleanupt   modet   fp(    (    s    lib/python2.7/test/test_netrc.pyt   make_nrc   s    c         C   sx   |  j  d d t ƒ} |  j | j d d
 ƒ |  j | j d d ƒ |  j  | j ƒ  d t ƒ} |  j | j | j ƒ d  S(   Ns‡               machine host1.domain.com login log1 password pass1 account acct1
            default login log2 password pass2
            R   s   host1.domain.comt   log1t   acct1t   pass1t   defaultt   log2t   pass2(   R   R   R   (   R   NR   (   R   t   Falset   assertEqualt   hostst   Nonet   __repr__t   True(   R   t   nrct   nrc2(    (    s    lib/python2.7/test/test_netrc.pyt   test_default   s    c         C   s@   |  j  d ƒ } |  j | j i d d g d 6d d g d 6ƒ d  S(   Ns‰               macdef macro1
            line1
            line2

            macdef macro2
            line3
            line4
            s   line1
s   line2
t   macro1s   line3
s   line4
t   macro2(   R   R   t   macros(   R   R"   (    (    s    lib/python2.7/test/test_netrc.pyt   test_macros   s    	c         C   s3   |  j  | ƒ } |  j | j d d d | f ƒ d  S(   Ns   host.domain.comt   logt   acct(   R   R   R   (   R   R"   t   passwd(    (    s    lib/python2.7/test/test_netrc.pyt   _test_passwords,   s    c         C   s   |  j  d d ƒ d  S(   NsV               machine host.domain.com login log password #pass account acct
            s   #pass(   R,   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt   test_password_with_leading_hash0   s    c         C   s   |  j  d d ƒ d  S(   NsV               machine host.domain.com login log password pass# account acct
            s   pass#(   R,   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt    test_password_with_trailing_hash5   s    c         C   s   |  j  d d ƒ d  S(   NsV               machine host.domain.com login log password pa#ss account acct
            s   pa#ss(   R,   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt    test_password_with_internal_hash:   s    t   passc         C   sJ   |  j  | ƒ } |  j | j d d d  | f ƒ |  j | j d d ƒ d  S(   Ns   foo.domain.comt   bars   bar.domain.comt   fooR0   (   R2   NR0   (   R   R   R   R   (   R   R"   R+   (    (    s    lib/python2.7/test/test_netrc.pyt   _test_comment?   s     c         C   s   |  j  d ƒ d  S(   Ns˜               # comment
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            (   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt    test_comment_before_machine_lineD   s    c         C   s   |  j  d ƒ d  S(   Ns—               #comment
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            (   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt)   test_comment_before_machine_line_no_spaceK   s    c         C   s   |  j  d ƒ d  S(   Ns               #
            machine foo.domain.com login bar password pass
            machine bar.domain.com login foo password pass
            (   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt*   test_comment_before_machine_line_hash_onlyR   s    c         C   s   |  j  d ƒ d  S(   NsŒ               machine foo.domain.com login bar password pass # comment
            machine bar.domain.com login foo password pass
            (   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt#   test_comment_at_end_of_machine_lineY   s    c         C   s   |  j  d ƒ d  S(   Ns‹               machine foo.domain.com login bar password pass #comment
            machine bar.domain.com login foo password pass
            (   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt,   test_comment_at_end_of_machine_line_no_space_   s    c         C   s   |  j  d d ƒ d  S(   NsŒ               machine foo.domain.com login bar password #pass #comment
            machine bar.domain.com login foo password pass
            s   #pass(   R3   (   R   (    (    s    lib/python2.7/test/test_netrc.pyt1   test_comment_at_end_of_machine_line_pass_has_hashe   s    t   posixs   POSIX only testc      
   C   så   t  j } t j | ƒ |  j t  j | ƒ t j j | d ƒ } t | d ƒ  } | j	 d ƒ Wd  QXt  j
 ƒ  p } | j d | ƒ t j | d ƒ t j ƒ  } |  j | j d d
 ƒ t j | d	 ƒ |  j t j t j ƒ Wd  QXd  S(   Ns   .netrct   wts                   machine foo.domain.com login bar password pass
                default login foo password pass
                t   HOMEi€  s   foo.domain.comR1   R0   i’  (   R1   NR0   (   R    t   TESTFNR   t   mkdirR   t   rmtreet   patht   joinR	   R   t   EnvironmentVarGuardt   sett   chmodR   R   R   R   t   assertRaisest   NetrcParseError(   R   t   dt   fnt   ft   environR"   (    (    s    lib/python2.7/test/test_netrc.pyt   test_securityl   s    	(   t   __name__t
   __module__R!   R   R$   R(   R,   R-   R.   R/   R3   R4   R5   R6   R7   R8   R9   t   unittestt
   skipUnlessR   t   nameRK   (    (    (    s    lib/python2.7/test/test_netrc.pyR      s   												c           C   s   t  j t ƒ d  S(   N(   R    t   run_unittestR   (    (    (    s    lib/python2.7/test/test_netrc.pyt	   test_main‚   s    t   __main__(   R   R   RN   R   R   t   testR    R=   R
   t   TestCaseR   RR   RL   (    (    (    s    lib/python2.7/test/test_netrc.pyt   <module>   s   <	|	