
    z	iZ%                     ,   S SK Jr  S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SK
Jr  S S	K
Jr  S S
K
Jr  S SK
Jr  \" SSSS5      r\" SSSS5      r\" SS/S9r\" S\\R&                  \R(                  5      r " S S\	R,                  5      rg)    )Mock)sentinel)DispatchExtensionManager)NameDispatchExtensionManager)	Extension)utils)DriverManager)EnabledExtensionManager)ExtensionManager)HookManager)NamedExtensionManagertest_extensionNanother_oneztest.extensionobj)module_nameattrstest_driverc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S"r$g#)$TestTestManager%   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g N)r   test_extension2r   make_test_instanceassertEqual
extensionsselfr   ems      [/home/james-whalen/.local/lib/python3.13/site-packages/stevedore/tests/test_test_manager.py,test_instance_should_use_supplied_extensions<TestTestManager.test_instance_should_use_supplied_extensions&   s.    $o6
00<]]3    c                 h    [         R                  " / 5      nU R                  UR                  S5        g NTESTINGr   r   r   	namespacer   r   s     r    +test_instance_should_have_default_namespace;TestTestManager.test_instance_should_have_default_namespace+   s&    004y1r#   c                 h    Sn[         R                  " / US9nU R                  XR                  5        g Nztesting.1.2.3)r(   r'   r   r(   r   s      r    +test_instance_should_use_supplied_namespace;TestTestManager.test_instance_should_use_supplied_namespace/   s+    #	00yILL1r#   c                     [         R                  " [        /5      nU R                  [        R                  UR                  5       5        g r   )r   r   r   assertInnamenamesr)   s     r    $test_extension_name_should_be_listed4TestTestManager.test_extension_name_should_be_listed4   s/    00.1ABn))288:6r#   c                     [         R                  " [        /5      nU R                  [        [	        [        U5      5      5        g r   )r   r   r   r   nextiterr)   s     r    $test_iterator_should_yield_extension4TestTestManager.test_iterator_should_yield_extension8   s-    00.1ABd2h8r#   c                     [         R                  " [        /5      nU R                  [        U[        R                     5        g r   )r   r   r   r   r3   r)   s     r    %test_manager_should_allow_name_access5TestTestManager.test_manager_should_allow_name_access<   s0    00.1ABN,?,?)@Ar#   c                     [         R                  " [        /5      n[        5       nUR	                  U5        UR                  [        5        g r   )r   r   r   r   mapassert_called_once_withr   r   funcs      r    test_manager_should_call(TestTestManager.test_manager_should_call@   s5    00.1ABv
t$$^4r#   c                     [         R                  " [        [        /5      n[	        5       nUR                  U5        UR                  [        5        UR                  [        5        g r   )r   r   r   r   r   r@   assert_any_callrB   s      r    test_manager_should_call_all,TestTestManager.test_manager_should_call_allF   sL    00/2@2B Cv
t_-^,r#   c                     S n[         R                  " [        [        /5      nUR	                  U5      nU R                  [        U5      SS/5        g )Nc                     U R                   $ r   r3   extargskwdss      r    mapped:TestTestManager.test_manager_return_values.<locals>.mappedO   s    88Or#   r   r   )r   r   r   r   r@   r   sorted)r   rQ   r   resultss       r    test_manager_return_values*TestTestManager.test_manager_return_valuesN   sL    	 00/2@2B C&&.=:J*KLr#   c                     [         R                  " [        /5      n[        [	        S5      S9nUR                  USSSSS9nU R                  U/ 5        g )Nhard coded errorside_effect      ABab)r   r   r   r   RuntimeErrorr@   r   )r   r   rC   rT   s       r    "test_manager_should_eat_exceptions2TestTestManager.test_manager_should_eat_exceptionsW   sM    00.1AB-? @A&&q!sc&2"%r#   c                     [         R                  " [        /SS9nU R                  S5        [	        [        S5      S9nUR                  USSSS	S
9  g )NT)propagate_map_exceptionszSkipping temporarilyrX   rY   r[   r\   r]   r^   r_   )r   r   r   skipTestr   rb   r@   rB   s      r    (test_manager_should_propagate_exceptions8TestTestManager.test_manager_should_propagate_exceptions_   sN    00.1AJNP,--? @A
tQSC(r#   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g r   )r   r   r   r   r   r   r   s      r    1test_named_manager_should_use_supplied_extensionsATestTestManager.test_named_manager_should_use_supplied_extensionsg   s.    $o6
"55jA]]3r#   c                 h    [         R                  " / 5      nU R                  UR                  S5        g r%   r   r   r   r(   r)   s     r    0test_named_manager_should_have_default_namespace@TestTestManager.test_named_manager_should_have_default_namespacel   s&    "55b9y1r#   c                 h    Sn[         R                  " / US9nU R                  XR                  5        g r-   rn   r.   s      r    0test_named_manager_should_use_supplied_namespace@TestTestManager.test_named_manager_should_use_supplied_namespacep   s+    #	"55bINLL1r#   c                     [         [        /n[        R                  " U5      nU R	                  UR                  5       SS/5        g )Nr   r   )r   r   r   r   r   r4   r   s      r    (test_named_manager_should_populate_names8TestTestManager.test_named_manager_should_populate_namesu   s8    $o6
"55jA&6%FGr#   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g r   )r   r   r   r   r   r   r   s      r    0test_hook_manager_should_use_supplied_extensions@TestTestManager.test_hook_manager_should_use_supplied_extensions{   s.    $o6
++J7]]3r#   c                 |    [         [        /n[        R                  " U5      nU[         R                     (       d   eg r   )r   r   r   r   r3   r   s      r    0test_hook_manager_should_be_first_extension_name@TestTestManager.test_hook_manager_should_be_first_extension_name   s0    $o6
++J7>&&'('r#   c                 r    [         R                  " [        /5      nU R                  UR                  S5        g r%   r   r   r   r   r(   r)   s     r    /test_hook_manager_should_have_default_namespace?TestTestManager.test_hook_manager_should_have_default_namespace   s)    ++^,<=y1r#   c                 r    Sn[         R                  " [        /US9nU R                  XR                  5        g r-   r~   r.   s      r    /test_hook_manager_should_use_supplied_namespace?TestTestManager.test_hook_manager_should_use_supplied_namespace   s2    #	++^,<6?ALL1r#   c                     [        SS S S 5      n[        SS S S 5      n[        R                  " X/5      nU R                  X/US   5        g )Ncaptain)r   r   r   r   )r   hook1hook2r   s       r    0test_hook_manager_should_return_named_extensions@TestTestManager.test_hook_manager_should_return_named_extensions   sJ    )T46)T46++UN;%I7r#   c                 z    [         R                  " [        5      nU R                  [        /UR                  5        g r   )r	   r   a_driverr   r   r)   s     r    1test_driver_manager_should_use_supplied_extensionATestTestManager.test_driver_manager_should_use_supplied_extension   s(    --h7(R]]3r#   c                 p    [         R                  " [        5      nU R                  UR                  S5        g r%   r	   r   r   r   r(   r)   s     r    1test_driver_manager_should_have_default_namespaceATestTestManager.test_driver_manager_should_have_default_namespace   s&    --h7y1r#   c                 p    Sn[         R                  " [        US9nU R                  XR                  5        g r-   r   r.   s      r    1test_driver_manager_should_use_supplied_namespaceATestTestManager.test_driver_manager_should_use_supplied_namespace   s+    #	--h)LLL1r#   c                 z    [         R                  " [        5      nU R                  S/UR	                  5       5        g )Nr   )r	   r   r   r   r4   r)   s     r    $test_instance_should_use_driver_name4TestTestManager.test_instance_should_use_driver_name   s*    --h7-"((*5r#   c                 |    S n[         R                  " [        5      nU" USSS9nU R                  USSSS045        g )Nc                     U R                   X4$ r   rL   rM   s      r    invoke2TestTestManager.test_instance_call.<locals>.invoke   s    88T''r#   r`   C)ra   r   )r`   ra   )r	   r   r   r   )r   r   r   results       r    test_instance_call"TestTestManager.test_instance_call   sB    	( --h7FC3'-#s!DEr#   c                     [         R                  " [        5      nU R                  [        R
                  UR                  5        g r   )r	   r   r   r   r   
driver_objdriverr)   s     r    test_instance_driver_property-TestTestManager.test_instance_driver_property   s,    --h7,,bii8r#   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g r   )r   r   r
   r   r   r   r   s      r    4test_enabled_instance_should_use_supplied_extensionsDTestTestManager.test_enabled_instance_should_use_supplied_extensions   s.    $o6
$77
C]]3r#   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g r   )r   r   r   r   r   r   r   s      r    5test_dispatch_instance_should_use_supplied_extensionsETestTestManager.test_dispatch_instance_should_use_supplied_extensions   s.    $o6
%88D]]3r#   c                     [         R                  " [        [        /5      n[	        SS9nSnSS0nUR
                  " US /UQ70 UD6  UR                  " [        /UQ70 UD6  UR                  " [        /UQ70 UD6  g )NF)return_valuer]   bigCheese)r   r   r   r   r   r@   rG   )r   r   filter_funcrO   kws        r    5test_dispatch_map_should_invoke_filter_for_extensionsETestTestManager.test_dispatch_map_should_invoke_filter_for_extensions   s    %88.:I:K L.X
{D.4.2.##N@T@R@##OAdAbAr#   c                 ~    [         [        /n[        R                  " U5      nU R	                  XR
                  5        g r   )r   r   r   r   r   r   r   s      r    :test_name_dispatch_instance_should_use_supplied_extensionsJTestTestManager.test_name_dispatch_instance_should_use_supplied_extensions   s.    $o6
)<<ZH]]3r#   c                    [         [        /n[        R                  " U5      nU R	                  [         UR
                  [         R                     5        U R	                  [        UR
                  [        R                     5        g r   )r   r   r   r   r   by_namer3   r   s      r    ;test_name_dispatch_instance_should_build_extension_name_mapKTestTestManager.test_name_dispatch_instance_should_build_extension_name_map   sZ    $o6
)<<ZHN4G4G)HI"**_5I5I*JKr#   c                     [         R                  " [        [        /5      n[	        5       nSnSS0nUR
                  " S/U/UQ70 UD6  UR                  " [        /UQ70 UD6  g )Nr   BIGGERr   r   )r   r   r   r   r   r@   rA   )r   r   rC   rO   r   s        r    ;test_named_dispatch_map_should_invoke_filter_for_extensionsKTestTestManager.test_named_dispatch_map_should_invoke_filter_for_extensions   sh    )<<n>M>O Pv!
 !45$5"5$$^AdAbAr#    N)%__name__
__module____qualname____firstlineno__r!   r*   r/   r5   r:   r=   rD   rH   rU   rc   rh   rk   ro   rr   ru   rx   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r#   r    r   r   %   s    4
22
79B5-M&)4
22
H4
)228422
6F9
44
B4LBr#   r   )unittest.mockr   r   stevedore.dispatchr   r   stevedore.extensionr   stevedore.testsr   	stevedorer	   r
   r   r   r   r   r   mock_entry_pointdriver_pluginr   r   TestCaser   r   r#   r    <module>r      s     " 7 ; ) ! # - & ! + +T4>M4t<$4UGD ]$4h6L6L((*
yBenn yBr#   