
    cew                     R    d dl mZ d dlmZ d dlmZ  G d dej                        Zy)    )base)cfg)fixturec                   f    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zy)ConfigTestCasec                 d   t        j                         }t        j                  |      }|j	                          |j                  t        j                  dd             |j                  t        j                  ddd             |j                  t        j                  dd	d
gd	             |S )Ntesting_optioninitial_valuedefaulttest2r      )minr   test3ab)choicesr   )r   
ConfigOptsconfigConfigsetUpregister_optStrOptIntOpt)selfconfconfig_fixtures      @/usr/lib/python3/dist-packages/oslo_config/tests/test_fixture.py_make_fixturezConfigTestCase._make_fixture   s    ~~t,##CJJo%7 	8##CJJA%' 	(##CJJc3Z%6 	7    c                     | j                         }| j                  |j                  j                  d      d       |j	                  d       | j                  d|j                  j                  d             y )Nr	   r
   changed_valuer	   )r   assertEqualr   getr   r   fs     r   test_overridden_valuez$ConfigTestCase.test_overridden_value&   s]     $45G	0$45	7r    c                 X   | j                         }| j                  d|j                  j                  d             | j                  d|j                  j                  d             | j	                  t
        |j                  d       | j	                  t
        |j                  d       y )	Nr   r   r   r   )r   c)r   )r   r$   r   r%   assertRaises
ValueErrorr   r&   s     r   %test_overridden_value_with_wrong_typez4ConfigTestCase.test_overridden_value_with_wrong_type-   s|     AFFJJw/0affjj12*ahhb9*ahhc:r    c                 (   | j                         }|j                  d       | j                  |j                  j	                  d      d       |j                  j                          | j                  |j                  j	                  d      d       y )Nr"   r#   r	   r
   )r   r   r$   r   r%   resetr&   s     r   test_cleanupzConfigTestCase.test_cleanup5   sj     	0$45(	*	$45Gr    c                     | j                         }t        j                  dd      }|j                  |       | j	                  |j
                  j                  d      |j                         y Nnew_test_optr
   r   )r   r   r   r   r$   r   r%   r   r   r'   opts      r   test_register_optionz#ConfigTestCase.test_register_option=   sP     jjA	sN3	&r    c                 z   | j                         }t        j                  dd      }t        j                  dd      }|j                  ||g       | j	                  |j
                  j                  d      |j                         | j	                  |j
                  j                  d      |j                         y Nfirst_test_optinitial_value_1r   second_test_optinitial_value_2)r   r   r   register_optsr$   r   r%   r   r   r'   opt1opt2s       r   test_register_optionsz$ConfigTestCase.test_register_optionsD   s     zz*4EFzz+5FG	t%$45t||D$56Er    c                 h   | j                         }t        j                  dd      }|j                  |       | j	                  |j
                  j                  d      |j                         |j                          | j                  t        j                  |j
                  j                  d       y r3   )r   r   r   r   r$   r   r%   r   cleanUpr,   NoSuchOptErrorr5   s      r   test_cleanup_unregister_optionz-ConfigTestCase.test_cleanup_unregister_optionL   sy     jjA	sN3	&			#,,affjj.Ir    c                     | j                         }t        j                  dd      }|j                  |       | j	                  |j
                  j                  d      |j                         y r3   )r   r   r   register_cli_optr$   r   r%   r   r5   s      r   test_register_cli_optionz'ConfigTestCase.test_register_cli_optionU   sR     jjA	3N3	&r    c                 z   | j                         }t        j                  dd      }t        j                  dd      }|j                  ||g       | j	                  |j
                  j                  d      |j                         | j	                  |j
                  j                  d      |j                         y r9   )r   r   r   register_cli_optsr$   r   r%   r   r?   s       r   test_register_cli_optionsz(ConfigTestCase.test_register_cli_options\   s     zz*4EFzz+5FG	T4L)$45t||D$56Er    c                 h   | j                         }t        j                  dd      }|j                  |       | j	                  |j
                  j                  d      |j                         |j                          | j                  t        j                  |j
                  j                  d       y r3   )r   r   r   rH   r$   r   r%   r   rD   r,   rE   r5   s      r   "test_cleanup_unregister_cli_optionz1ConfigTestCase.test_cleanup_unregister_cli_optiond   s{     jjA	3N3	&			#,,affjj.Ir    c                 &   | j                         }|j                  dd       | j                  t        j                  |j
                  j                  d       | j                  t        j                  |j
                  j                  d       t        j                  dd      }t        j                  dd      }|j                  |       |j                  |       | j                  |j
                  j                  d       | j                  |j
                  j                  d       |j                          | j                  t        j                  |j
                  j                  d       | j                  t        j                  |j
                  j                  d       |j                  |       |j                  |       | j                  |j
                  j                  d       | j                  |j
                  j                  d       y )	Nloaded_value_1loaded_value_2)r:   r<   r:   r<   r;   r   r=   )r   load_raw_valuesr,   r   rE   r   r%   r   r   r$   r:   r<   rD   r?   s       r   test_load_raw_valuesz#ConfigTestCase.test_load_raw_valuesm   s~    	)9*: 	 	< 	#,,affjj:JK#,,affjj:KLzz*4EFzz+5FG	t	t..0@A//1AB 	
		 	#,,affjj:JK#,,affjj:KL 	
t	t..0AB//1BCr    c                    | j                         }| j                  d|j                         | j                  d|j                         dg}dg}|j                  |       |j	                  |       | j                  |j                  j                  |       | j                  |j                  j                  |       |j                          | j                  d|j                         | j                  d|j                         y)z2Assert that using the fixture forces a clean list.default_config_filesdefault_config_dirsz./test_fixture.confz./test_fixture.conf.dN)	r   assertNotInr   set_config_filesset_config_dirsr$   rU   rV   rD   )r   r'   config_filesconfig_dirss       r   !test_assert_default_files_cleanupz0ConfigTestCase.test_assert_default_files_cleanup   s     /8.7-../	<(	+&44lC33[A			/8.7r    c                    | j                         }| j                  d|j                         dg}|j                  |       t	        j
                  dd      }t	        j
                  dd      }|j                  |       |j                  |       | j                  d|j                  j                  d             | j                  d	|j                  j                  d             y )
NrU   z%./oslo_config/tests/test_fixture.confr:   r;   r   r<   r=   rP   rQ   )	r   rW   r   rX   r   r   r   r$   r%   )r   r'   rZ   r@   rA   s        r   test_load_custom_filesz%ConfigTestCase.test_load_custom_files   s     /8?@	<(zz*4EFzz+5FG	t	t)166::6F+GH)166::6G+HIr    c                 f   | j                         }t        j                  dd      }|j                  j	                  |       |j                  dd       | j                  d|j                  j                         |j                          | j                  d|j                  j                         y )Nr4   r
   r   alternate_value)namer   )	r   r   r   r   r   set_defaultr$   r4   rD   r5   s      r   test_set_defaultzConfigTestCase.test_set_default   s     jjA 	
C 	% 	 	
 	*AFF,?,?@			!&&*=*=>r    c                    | j                         }t        j                  dd      }|j                  j	                  |d       |j                  ddd       | j                  d|j                  j                  j                         |j                          | j                  d|j                  j                  j                         y )Nr4   r
   r   foo)groupr`   )ra   r   rf   )
r   r   r   r   r   rb   r$   re   r4   rD   r5   s      r   test_set_default_groupz%ConfigTestCase.test_set_default_group   s     jjA 	
Cu-	% 	 	

 	*AFFJJ,C,CD			!&&***A*ABr    N)__name__
__module____qualname__r   r(   r.   r1   r7   rB   rF   rI   rL   rN   rS   r\   r^   rc   rg    r    r   r   r      sU    
7;H&FJ&FJD>8$J?Cr    r   N)oslotestr   oslo_configr   r   r   BaseTestCaser   rk   r    r   <module>ro      s&   $   )pCT&& pCr    