
    \eH                     V    d dl Z d dlZd dlmZ d dlmZ  G d dej                        Zy)    N)base)importutilsc                       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d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)ImportUtilsTestc                     t        j                  d      }| j                  t        j                  d   j
                  |       y )Ndatetime.datetimedatetime)r   import_classassertEqualsysmodulesr	   selfdts     C/usr/lib/python3/dist-packages/oslo_utils/tests/test_importutils.pytest_import_classz!ImportUtilsTest.test_import_class   s2    %%&9:Z0992>    c                 N    | j                  t        t        j                  d       y )Nzlol.u_mad.brah)assertRaisesImportErrorr   r
   r   s    r   test_import_bad_classz%ImportUtilsTest.test_import_bad_class!   s    +{'?'?*	,r   c                 t    t        j                  d      }| j                  t        j                  d   |       y Nr	   )r   import_moduler   r   r   r   s     r   test_import_modulez"ImportUtilsTest.test_import_module%   s+    &&z2Z0"5r   c                 z    t        j                  d      }| j                  |j                  j                  d       y )N oslo_utils.tests.fake.FakeDriver
FakeDriverr   import_objectr   	__class____name__r   objs     r   +test_import_object_optional_arg_not_presentz;ImportUtilsTest.test_import_object_optional_arg_not_present)   s-    ''(JK//>r   c                 ~    t        j                  dd      }| j                  |j                  j                  d       y )Nr   F	first_argr   r    r$   s     r   'test_import_object_optional_arg_presentz7ImportUtilsTest.test_import_object_optional_arg_present-   s2    ''(J279//>r   c                 N    | j                  t        t        j                  d       y )N!oslo_utils.tests.fake.FakeDriver2)r   	TypeErrorr   r!   r   s    r   +test_import_object_required_arg_not_presentz;ImportUtilsTest.test_import_object_required_arg_not_present2   s    )[%>%>=	?r   c                 ~    t        j                  dd      }| j                  |j                  j                  d       y )Nr,   Fr(   FakeDriver2r    r$   s     r   'test_import_object_required_arg_presentz7ImportUtilsTest.test_import_object_required_arg_present7   s2    ''(K279//?r   c                 |    t        j                  dd      }| j                  |j                  j                  d       y )N
oslo_utilstests.fake.FakeDriverr   r   import_object_nsr   r"   r#   r$   s     r   .test_import_object_ns_optional_arg_not_presentz>ImportUtilsTest.test_import_object_ns_optional_arg_not_present=   s2    **<+BD//>r   c                     t        j                  ddd      }| j                  |j                  j                  d       y )Nr3   r4   Fr(   r   r5   r$   s     r   *test_import_object_ns_optional_arg_presentz:ImportUtilsTest.test_import_object_ns_optional_arg_presentB   s6    **<+B5:< 	//>r   c                 P    | j                  t        t        j                  dd       y )Nr3   tests.fake.FakeDriver2r   r-   r   r6   r   s    r   .test_import_object_ns_required_arg_not_presentz>ImportUtilsTest.test_import_object_ns_required_arg_not_presentH   s!    )[%A%A&(@	Br   c                     t        j                  ddd      }| j                  |j                  j                  d       y )Nr3   r;   Fr(   r0   r5   r$   s     r   *test_import_object_ns_required_arg_presentz:ImportUtilsTest.test_import_object_ns_required_arg_presentM   s6    **<+C5:< 	//?r   c                 |    t        j                  dd      }| j                  |j                  j                  d       y )Ntests2r   r   r5   r$   s     r   3test_import_object_ns_full_optional_arg_not_presentzCImportUtilsTest.test_import_object_ns_full_optional_arg_not_presentT   s2    **8+MO//>r   c                     t        j                  ddd      }| j                  |j                  j                  d       y )NrA   r   Fr(   r   r5   r$   s     r   /test_import_object_ns_full_optional_arg_presentz?ImportUtilsTest.test_import_object_ns_full_optional_arg_presentY   s6    **8+M5:< 	//>r   c                 P    | j                  t        t        j                  dd       y )NrA   r,   r<   r   s    r   3test_import_object_ns_full_required_arg_not_presentzCImportUtilsTest.test_import_object_ns_full_required_arg_not_present_   s!    )[%A%A"$G	Ir   c                     t        j                  ddd      }| j                  |j                  j                  d       y )NrA   r,   Fr(   r0   r5   r$   s     r   /test_import_object_ns_full_required_arg_presentz?ImportUtilsTest.test_import_object_ns_full_required_arg_presentd   s6    **8+N5:< 	//?r   c                 P    | j                  t        t        j                  dd       y )NrA   z!oslo_utils.tests.fake.FakeDriver3)r   r   r   r6   r   s    r   0test_import_object_ns_raise_import_error_in_initz@ImportUtilsTest.test_import_object_ns_raise_import_error_in_initj   s!    +{'C'C"$G	Ir   c                     t        j                  d      }| j                  |t        j                  d   j
                         y )Nzdatetime.timer	   )r   r!   assertIsInstancer   r   timer   s     r   test_import_objectz"ImportUtilsTest.test_import_objectn   s1    &&7b#++j"9">">?r   c                     t        j                  dddd      }| j                  |t        j                  d   j
                         | j                  |t        j
                  ddd             y )Nr   i        r	   )r   r!   rL   r   r   r	   r   r   s     r   test_import_object_with_argsz,ImportUtilsTest.test_import_object_with_argsr   sW    &&':D!QGb#++j"9"B"BCX..tQ:;r   c                     t        j                  dd      }| j                  t        j                  d   |       t        j                  ddd      }| j                  t        j                  d   |       y )Noslo_utils.tests.fake   zoslo_utils.tests.fake.v2dummpyzoslo_utils.tests.fake.v2.dummpy)r   import_versioned_moduler   r   r   )r   v2rV   s      r   test_import_versioned_modulez,ImportUtilsTest.test_import_versioned_modulew   se    001H!L%?@"E445L56B%FG	!r   c                 R    | j                  t        t        j                  ddd       y )NrT   z2.0fake)r   
ValueErrorr   rW   r   s    r   4test_import_versioned_module_wrong_version_parameterzDImportUtilsTest.test_import_versioned_module_wrong_version_parameter   s#    *%==15&	Br   c                 R    | j                  t        t        j                  ddd       y )NrT   rU   r[   )r   r   r   rW   r   s    r   "test_import_versioned_module_errorz2ImportUtilsTest.test_import_versioned_module_error   s"    +%==11f	>r   c                 t    t        j                  d      }| j                  t        j                  d   |       y r   )r   
try_importr   r   r   r   s     r   test_try_importzImportUtilsTest.test_try_import   s+    ##J/Z0"5r   c                 P    t        j                  d      }| j                  |       y )Nfoo.bar)r   ra   assertIsNone)r   foos     r   test_try_import_returns_defaultz/ImportUtilsTest.test_try_import_returns_default   s     $$Y/#r   c                 P    | j                  t        t        j                  dd       y )Nrd   zfoo.foo.bar)r   r   r   
import_anyr   s    r   test_import_any_none_foundz*ImportUtilsTest.test_import_any_none_found   s    +{'='=#]	4r   c                 v    t        j                  dd      }| j                  t        j                  d   |       y )Nrd   r	   )r   ri   r   r   r   r   s     r   test_import_any_foundz%ImportUtilsTest.test_import_any_found   s-    ##Iz:Z0"5r   N)r#   
__module____qualname__r   r   r   r&   r*   r.   r1   r7   r9   r=   r?   rB   rD   rF   rH   rJ   rN   rR   rY   r]   r_   rb   rg   rj   rl    r   r   r   r      s    
?,6??
?
@?
?B
@?
?I
@I@<
!B
>
646r   r   )	r	   r   oslotestr   	test_baser3   r   BaseTestCaser   ro   r   r   <module>rs      s'      
 & "@6i,, @6r   