
    z	ih                     n    S 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\	R                  5      rg	)
z#Tests for failure loading callback
    )mock)GreaterThan)	extension)named)utilsc                   J    \ rS rSrS r\R                  " S5      S 5       rSrg)TestCallback   c                 \  ^ / mU4S jn[         R                  " SSUS9n[        UR                  5      nU R	                  [        U5      [        S5      5        U R                  [        T5      S5        T H3  u  pEnU R                  XB5        U R                  U[        [        45        M5     g )Nc                 ,   > TR                  XU45        g N)append)manager
entrypointerrorerrorss      W/home/james-whalen/.local/lib/python3.13/site-packages/stevedore/tests/test_callback.pyfailure_callbackMTestCallback.test_extension_failure_custom_callback.<locals>.failure_callback   s    MM767    stevedore.test.extensionT)invoke_on_loadon_load_failure_callbackr      )r   ExtensionManagerlist
extensions
assertTruelenr   assertEqualassertIsassertIsInstanceIOErrorImportError)selfr   emr   r   r   r   r   s          @r   &test_extension_failure_custom_callback3TestCallback.test_extension_failure_custom_callback   s    	8 ''(B7;(8: "--(
JQ8Va(*0&GMM'&!!%';)?@ +1r   z3stevedore.named.NamedExtensionManager._load_pluginsc                    ^ [        5       mU4S jn[        R                  " SS S S 5      /Ul        [        R
                  " SSS/SUS9  U R                  TS15        g )Nc                 (   > TR                  U 5        g r   )update)namesr   s    r   callback@TestCallback.test_missing_entrypoints_callback.<locals>.callback.   s    MM% r   foor   barT)r,   r   on_missing_entrypoints_callback)setr   	Extensionreturn_valuer   NamedExtensionManagerr    )r%   load_fnr-   r   s      @r   !test_missing_entrypoints_callback.TestCallback.test_missing_entrypoints_callback*   sd    	! tT48 
 	##$>+0%.37DL	N 	%)r    N)	__name__
__module____qualname____firstlineno__r'   r   patchr7   __static_attributes__r9   r   r   r	   r	      s'    A" 
ZZEF* G*r   r	   N)__doc__unittestr   testtools.matchersr   	stevedorer   r   stevedore.testsr   TestCaser	   r9   r   r   <module>rF      s)     *   ! *5>>  *r   