o
    wOiW                     @   sb   d dl Z d dlZd dlZd dlZzd dlZW n ey%   d dlmZ Y nw G dd dejZdS )    N)mockc                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestEtcdResultc              
   C   s   ddddddddddi}t jdi |}| |j|d d	  | |j|d d
  t|jdd}| |g| t|jdd}| |g| dS )zG
        Test get_subtree() for a read with tree 1 level deep.
        nodez/testhelloN      Fkeyvalue
expirationttlmodifiedIndexcreatedIndexnewKeydirr	   r
   Tleaves_only )etcd
EtcdResultassertEqualr	   r
   listget_subtreeassertListEqual)selfresponseresultsubtreer   r   O/home/ubuntu/.local/lib/python3.10/site-packages/etcd/tests/unit/test_result.pytest_get_subtree_1_level   s"   
z'TestEtcdResult.test_get_subtree_1_levelc              
   C   s  ddddddddd}dd	ddd
dddd}ddddd
ddd||gdi}t jdi |}| |jd | |j t|jdd}| |d jd | |d jd | t|d t|jdd}| |d jd | |d jd | |d jd | t|d dS )zH
        Test get_subtree() for a read with tree 2 levels deep.
        z/test/leaf0hello1Nr   r   Fr   z/test/leaf1hello2      r   /test/T)r	   r   r   r   r   r   r   nodesr   r      r   	r   r   r   r	   
assertTruer   r   r   len)r   leaf0leaf1testnoder   r   r   r   r   test_get_subtree_2_level%   sP   

z'TestEtcdResult.test_get_subtree_2_levelc           
      C   s  ddd}ddd}ddd}ddd}dd	||gd
}dd	||gd
}ddd	||gd
i}t jdi |}| |jd | |j t|jd	d}	| |	d jd | |	d jd | |	d jd | |	d jd | t|	d t|jdd}	| |	d jd | |	d jd | |	d jd | |	d jd | |	d jd | |	d jd | |	d jd | t|	d dS )zH
        Test get_subtree() for a read with tree 3 levels deep.
        z/test/mid0/leaf0r    )r	   r
   z/test/mid0/leaf1r!   z/test/mid1/leaf2z/test/mid1/leaf3z/test/mid0/T)r	   r   r%   z/test/mid1/r   r$   r   r   r   r#   r&      Fr   r"      Nr   r'   )
r   r*   r+   leaf2leaf3mid0mid1r,   r   r   r   r   r   test_get_subtree_3_levelX   sV   z'TestEtcdResult.test_get_subtree_3_levelN)__name__
__module____qualname__r   r-   r4   r   r   r   r   r      s    3r   )r   unittestjsonurllib3r   ImportErrorTestCaser   r   r   r   r   <module>   s    