
    z	i                     z    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KJ
r
   " S S	\
R                  5      rg)
zTests for stevedore.extension
    N)driver)	exception)	extension)test_extension)utilsc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestCallback   c                     [         R                  " SS5      n[        UR                  5       5      nU R	                  US/5        g )Nstevedore.test.extensiont1)r   DriverManagersortednamesassertEqual)selfemr   s      U/home/james-whalen/.local/lib/python3.13/site-packages/stevedore/tests/test_driver.pytest_detect_plugins TestCallback.test_detect_plugins   s7    !!"<dCrxxz"'    c                 v    S n[         R                  " SS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$ )N)name)extargskwdss      r   invoke&TestCallback.test_call.<locals>.invoke    s    HHd))r   r   r   aC)b)r    r"   )r   r   r   )r   r   r   results       r   	test_callTestCallback.test_call   sC    	*!!"<dCFC3'$c
!;<r   c                     [         R                  " SSSS9nUR                   nU R                  U[        R                  5        g )Nr   r   Finvoke_on_load)r   r   assertIsr   FauxExtensionr   r   ds      r   (test_driver_property_not_invoked_on_load5TestCallback.test_driver_property_not_invoked_on_load&   s7    !!"<d168IIa556r   c                     [         R                  " SSSS9nUR                   nU R                  U[        R                  5        g )Nr   r   Tr'   )r   r   assertIsInstancer   r*   r+   s      r   $test_driver_property_invoked_on_load1TestCallback.test_driver_property_invoked_on_load,   s9    !!"<d157IIa!=!=>r   c                      [         R                  " SS5        g ! [        R                   a%  nU R	                  S[        U5      5         S nAg S nAff = f)Nzstevedore.test.extension.noner   z/No 'stevedore.test.extension.none' driver found)r   r   r   	NoMatchesassertInstr)r   errs     r   test_no_driversTestCallback.test_no_drivers2   sI    	$  !@$G"" 	$MMKc($ $	$s    AAAc                 x     [         R                  " SS5        U R                  SS5        g ! [         a     g f = f)Nr   e2FzNo error raised)r   r   r   ImportError)r   s    r   test_bad_driverTestCallback.test_bad_driver9   s?    	7  !;TB U$56  		s   , 
99c           	         [         R                  " S[        R                  " SSS5      SS 5      [         R                  " S[        R                  " SSS5      SS 5      /n [        R
                  R                  US   5      nUR                  U5        U R                  S5        g ! [        R                   a%  nU R                  S[        U5      5         S nAg S nAff = f)Nbackendzpkg1:driverzpkg backendzpkg2:driverr   zShould have had an errorMultiple)r   	Extensionimportlib_metadata
EntryPointr   r   make_test_instance_init_pluginsfailr   MultipleMatchesr5   r6   )r   
extensionsdmr7   s       r   test_multiple_drivers"TestCallback.test_multiple_driversA   s     "--}i9 "--}i9

 	2%%88AGBZ( II01 (( 	0MM*c#h//	0s    3B% %C9CC N)__name__
__module____qualname____firstlineno__r   r$   r-   r1   r8   r=   rK   __static_attributes__rM   r   r   r	   r	      s%    (
=7?$72r   r	   )__doc__importlib.metadatametadatarC   	stevedorer   r   r   stevedore.testsr   r   TestCaser	   rM   r   r   <module>rY      s0    0    * !B25>> B2r   