
    Cadh                     n    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	  G d de	j                        Zy	)
z#Tests for failure loading callback
    )mock)GreaterThan)	extension)named)utilsc                   B    e Zd Zd Z ej
                  d      d        Zy)TestCallbackc                 ^   g fd}t        j                  dd|      }t        |j                        }| j	                  t        |      t        d             | j                  t              d       D ]4  \  }}}| j                  ||       | j                  |t        t        f       6 y )Nc                 .    j                  | ||f       y N)append)manager
entrypointerrorerrorss      ?/usr/lib/python3/dist-packages/stevedore/tests/test_callback.pyfailure_callbackzMTestCallback.test_extension_failure_custom_callback.<locals>.failure_callback   s    MM7J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_callbackz3TestCallback.test_extension_failure_custom_callback   s    	8 ''(B7;(8: "--(
JQ8Va(*0 	A&GZMM'2&!!%';)?@	Ar   z3stevedore.named.NamedExtensionManager._load_pluginsc                     t               fd}t        j                  dd d d       g|_        t	        j
                  dddgd|       | j                  dh       y )Nc                 (    j                  |        y r   )update)namesr   s    r   callbackz@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_callbackz.TestCallback.test_missing_entrypoints_callback*   sd    	! tT48 
 	##$>+0%.37DL	N 	%)r   N)__name__
__module____qualname__r%   r   patchr3    r   r   r	   r	      s)    A" TZZEF* G*r   r	   N)__doc__unittestr   testtools.matchersr   	stevedorer   r   stevedore.testsr   TestCaser	   r8   r   r   <module>r?      s)     *   ! *5>>  *r   