
    b	                         d Z ddlZddlmZ ddlZddlmZ ddlmZmZ  G d dej	        j
                  Z G d d	ej	        j                  Z G d
 dej	        j
                  ZdS )zTests for samba.registry.    N)registry)WERRORError)PopenPIPEc                       e Zd Zd Zd ZdS )HelperTestsc                 V    |                      dt          j        d                     d S )NHKEY_LOCAL_MACHINEl       )assertEqualr   get_predef_nameselfs    6/usr/lib/python3/dist-packages/samba/tests/registry.pytest_predef_to_namezHelperTests.test_predef_to_name   s:    -"2:>>	@ 	@ 	@ 	@ 	@    c                 V    |                      dt          j        d                     d S )N	REG_DWORD   )r   r   str_regtyper   s    r   test_str_regtypezHelperTests.test_str_regtype!   s)    h&:1&=&=>>>>>r   N)__name__
__module____qualname__r   r    r   r   r   r      s5        @ @ @? ? ? ? ?r   r   c                   F     e Zd Z fdZ fdZd Zd Zd Zd Zd Z	 xZ
S )	HiveTestsc                     t          t          |                                            t          j                            | j        d          | _        t          j	        | j                  | _
        d S )Nzldb_new.ldb)superr   setUpospathjointempdir	hive_pathr   open_ldbhiver   	__class__s    r   r   zHiveTests.setUp'   sP    i$$&&&dlMBB%dn55			r   c                     | ` t          j        | j                   t	          t
          |                                            d S N)r&   r    unlinkr$   r   r   tearDownr'   s    r   r,   zHiveTests.tearDown,   s<    I
	$.!!!i'')))))r   c                 >    |                      | j        d u           d S r*   )
assertTruer&   r   s    r   test_ldb_newzHiveTests.test_ldb_new1   s!    	-.....r   c                 d    |                      | j                            ddd                     d S )Nfoo1   bar1)assertIsNoner&   	set_valuer   s    r   test_set_valuezHiveTests.test_set_value4   s0    $)--fa@@AAAAAr   c                    |                      | j                            ddd                     |                      | j                                                   d}t          j                            d          rd}t          || j        gt          t                    }|
                                \  }}|                     d|v            d S )Nfoo2r2   bar2tdbdumpzbin/tdbdump)stdoutstderrs   DN=VALUE=FOO2,HIVE=NONE)r4   r&   r5   flushr    r!   isfiler   r$   r   communicater.   )r   tdbdump_toolproctdb_dumperrs        r   
test_flushzHiveTests.test_flush7   s    $)--fa@@AAA$)//++,,, 7>>-(( 	)(LlDN3DNNN((**#2h>?????r   c                     |                      | j                            ddd                     |                      | j                            d                     d S )Nfoo3r2   bar3)r4   r&   r5   	del_valuer   s    r   test_del_valuezHiveTests.test_del_valueC   sT    $)--fa@@AAA$)--f5566666r   c                 R    |                      t          | j        j        d           d S )Nfoo4)assertRaisesr   r&   rH   r   s    r   test_del_nonexisting_valuez$HiveTests.test_del_nonexisting_valueG   s%    +ty':FCCCCCr   )r   r   r   r   r,   r/   r6   rD   rI   rM   __classcell__)r(   s   @r   r   r   %   s        6 6 6 6 6
* * * * *
/ / /B B B
@ 
@ 
@7 7 7D D D D D D Dr   r   c                       e Zd Zd ZdS )RegistryTestsc                 j    t          j                    | _         |                     | j                    d S r*   )r   RegistryassertIsNotNoner   s    r   test_newzRegistryTests.test_newM   s.     )++T]+++++r   N)r   r   r   rT   r   r   r   rP   rP   K   s#        , , , , ,r   rP   )__doc__r    sambar   samba.testsr   
subprocessr   r   testsTestCaser   TestCaseInTempDirr   rP   r   r   r   <module>r\      s   $    				                 " " " " " " " "? ? ? ? ?%+& ? ? ?#D #D #D #D #D- #D #D #DL, , , , ,EK( , , , , ,r   