U
    [eh                     @   sV   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 de	j
Zd	S )
z#Tests for failure loading callback
    )mock)GreaterThan)	extension)named)utilsc                   @   s&   e Zd Zdd Zeddd ZdS )TestCallbackc                    s~   g   fdd}t jdd|d}t|j}| t|td | t d  D ]&\}}}| || | 	|t
tf qRd S )Nc                    s     | ||f d S N)append)manager
entrypointerrorerrors _/var/www/html/services/stratfitenv/lib/python3.8/site-packages/stevedore/tests/test_callback.pyfailure_callback   s    zMTestCallback.test_extension_failure_custom_callback.<locals>.failure_callbackstevedore.test.extensionT)invoke_on_loadZon_load_failure_callbackr      )r   ZExtensionManagerlist
extensions
assertTruelenr   assertEqualZassertIsZassertIsInstanceIOErrorImportError)selfr   Zemr   r
   r   r   r   r   r   &test_extension_failure_custom_callback   s    
z3TestCallback.test_extension_failure_custom_callbackz3stevedore.named.NamedExtensionManager._load_pluginsc                    sN   t    fdd}tdd d d g|_tjdddgd|d |  dh d S )Nc                    s     |  d S r   )update)namesr   r   r   callback.   s    z@TestCallback.test_missing_entrypoints_callback.<locals>.callbackZfoor   barT)r   r   Zon_missing_entrypoints_callback)setr   	ExtensionZreturn_valuer   ZNamedExtensionManagerr   )r   Zload_fnr    r   r   r   !test_missing_entrypoints_callback*   s    z.TestCallback.test_missing_entrypoints_callbackN)__name__
__module____qualname__r   r   patchr$   r   r   r   r   r      s   r   N)__doc__Zunittestr   Ztesttools.matchersr   Z	stevedorer   r   Zstevedore.testsr   ZTestCaser   r   r   r   r   <module>   s   