
    Og!                         d Z ddlZ G d dej                        Z G d dej                        Z G d dej                        Z G d	 d
ej                        Z G d dej                        Zd Zy)z Tests for z.c._api
    Nc                   $    e Zd Zd Zd Zd Zd Zy)Test_getGlobalSiteManagerc                     ddl m}  |       S )Nr   getGlobalSiteManager)zope.component.globalregistryr   )selfr   s     c/var/www/djangounited/venv/lib/python3.12/site-packages/zope/component/tests/test_globalregistry.py_callFUTz"Test_getGlobalSiteManager._callFUT   s    F#%%    c                     ddl m} ddlm} | j	                         }| j                  ||u        | j                  |j                  |             y )Nr   )base)IComponentLookup)r   r   zope.component.interfacesr   r   
assertTrue
providedBy)r	   r   r   gsms       r
   test_gsm_is_IComponentLookupz6Test_getGlobalSiteManager.test_gsm_is_IComponentLookup   s;    6>mmot$(33C89r   c                 f    | j                         }| j                  | j                         |u        y N)r   r   )r	   r   s     r
   test_gsm_is_singletonz/Test_getGlobalSiteManager.test_gsm_is_singleton   s$    mmo3./r   c                    ddl m} | j                         }|j                  |      }|j	                  |      }| j                  ||u        |j                  |j                        }|j	                  |      }| j                  ||j                  u        |j                  |j                        }|j	                  |      }| j                  ||j                  u        y )Nr   )_pickle)zope.component._compatr   r   dumpsloadsr   	utilitiesadapters)	r	   r   r   dumpedloadeddumped_utilitiesloaded_utilitiesdumped_adaptersloaded_adapterss	            r
   test_gsm_picklingz+Test_getGlobalSiteManager.test_gsm_pickling#   s    2mmos#v&#&"==7"==)9:(CMM9:!--5!--83<<78r   N)__name__
__module____qualname__r   r   r   r%    r   r
   r   r      s    &:09r   r   c                   .    e Zd ZddlmZmZ d Zd Zd Zy)Test_provideUtilityr   setUptearDownc                     ddl m}  ||i |S )Nr   )provideUtility)r   r0   )r	   argskwr0   s       r
   r   zTest_provideUtility._callFUT7       @t*r**r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     } |       }| j                  |        |       }| j                  |j                  |d	      |u        y )
Nr   	Interfaceimplementerr   c                       e Zd Zy)<Test_provideUtility.test_anonymous_no_provides.<locals>.IFooNr&   r'   r(   r)   r   r
   IFoor:   ?       r   r<   c                       e Zd Zy);Test_provideUtility.test_anonymous_no_provides.<locals>.FooNr;   r)   r   r
   Foor?   A       r   r@    )	zope.interfacer6   r8   r   r   objectr   r   
getUtility)r	   r6   r8   r   r<   r@   foor   s           r
   test_anonymous_no_providesz.Test_provideUtility.test_anonymous_no_provides;   sl    ,.F	9 		T		& 	 
	ec"$tR0C78r   c                     ddl m} ddlm}  G d d|      } G d dt              } |       }| j                  ||d        |       }| j                  |j                  |d      |u        y )	Nr   r5   r   c                       e Zd Zy)7Test_provideUtility.test_named_w_provides.<locals>.IFooNr;   r)   r   r
   r<   rJ   L   r=   r   r<   c                       e Zd Zy)6Test_provideUtility.test_named_w_provides.<locals>.FooNr;   r)   r   r
   r@   rL   N   r=   r   r@   named)rC   r6   r   r   rD   r   r   rE   )r	   r6   r   r<   r@   rF   r   s          r
   test_named_w_providesz)Test_provideUtility.test_named_w_providesI   s[    ,F	9 		& 	ec4)"$tW5<=r   N)	r&   r'   r(   zope.component.testingr-   r.   r   rG   rN   r)   r   r
   r+   r+   3   s    6+9
>r   r+   c                   .    e Zd ZddlmZmZ d Zd Zd Zy)Test_provideAdapterr   r,   c                     ddl m}  ||i |S )Nr   )provideAdapter)r   rS   )r	   r1   r2   rS   s       r
   r   zTest_provideAdapter._callFUTZ   r3   r   c                    ddl m} ddl m} ddlm} ddlm}  G d d|      } G d d	|      } ||       G d
 dt                     } ||       ||       G d dt                            }| j                  |        |       }	 |       }
|	j                  |
|      }| j                  t        ||             | j                  |j                  |
u        y )Nr   r5   r7   r   adapterc                       e Zd Zy)FTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.IFooNr;   r)   r   r
   r<   rX   c   r=   r   r<   c                       e Zd Zy)FTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.IBarNr;   r)   r   r
   IBarrZ   e   r=   r   r[   c                       e Zd Zy)ETest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.FooNr;   r)   r   r
   r@   r]   g   rA   r   r@   c                       e Zd Zd Zy)ETest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.Barc                     || _         y r   contextr	   rb   s     r
   __init__zNTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.Bar.__init__m   	    &r   Nr&   r'   r(   rd   r)   r   r
   Barr_   j       'r   rg   )rC   r6   r8   r   r   zope.component._apirV   rD   r   
getAdapterr   
isinstancerb   r	   r6   r8   r   rV   r<   r[   r@   rg   r   rF   adapteds               r
   $test_anonymous_no_provides_no_adaptsz8Test_provideAdapter.test_anonymous_no_provides_no_adapts^   s    ,.F/	9 		9 		T		& 	 
			T		'& 	' 
 
	' 	c"$e..d+
7C013./r   c                    ddl m} ddl m} ddlm}  G d d|      } G d d|      } ||       G d	 d
t
                     } G d dt
              }| j                  ||f|d        |       } |       }	|j                  |	|d      }
| j                  t        |
|             | j                  |
j                  |	u        y )Nr   r5   r7   r   c                       e Zd Zy)@Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.IFooNr;   r)   r   r
   r<   rq   z   r=   r   r<   c                       e Zd Zy)@Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.IBarNr;   r)   r   r
   r[   rs   |   r=   r   r[   c                       e Zd Zy)?Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.FooNr;   r)   r   r
   r@   ru   ~   rA   r   r@   c                       e Zd Zd Zy)?Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.Barc                     || _         y r   ra   rc   s     r
   rd   zHTest_provideAdapter.test_named_w_provides_w_adapts.<locals>.Bar.__init__   re   r   Nrf   r)   r   r
   rg   rw          'r   rg   test)name)rC   r6   r8   r   r   rD   r   rj   r   rk   rb   r	   r6   r8   r   r<   r[   r@   rg   r   rF   rm   s              r
   test_named_w_provides_w_adaptsz2Test_provideAdapter.test_named_w_provides_w_adaptsv   s    ,.F	9 		9 		T		& 	 
		'& 	' 	cD7D&1"$e..d.8
7C013./r   N)	r&   r'   r(   rO   r-   r.   r   rn   r}   r)   r   r
   rQ   rQ   V   s    6+000r   rQ   c                   .    e Zd ZddlmZmZ d Zd Zd Zy)Test_provideSubscriptionAdapterr   r,   c                     ddl m}  ||i |S )Nr   )provideSubscriptionAdapter)r   r   )r	   r1   r2   r   s       r
   r   z(Test_provideSubscriptionAdapter._callFUT   s    L)46266r   c                    ddl m} ddl m} ddlm} ddlm}  G d d|      } G d d	|      } ||       G d
 dt                     } ||       ||       G d dt                            }| j                  |        |       }	 |       }
|	j                  |
f|      }| j                  t        |      d       | j                  t        |d   |             | j                  |d   j                  |
u        y )Nr   r5   r7   r   rU   c                       e Zd Zy)HTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.IFooNr;   r)   r   r
   r<   r      r=   r   r<   c                       e Zd Zy)HTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.IBarNr;   r)   r   r
   r[   r      r=   r   r[   c                       e Zd Zy)GTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.FooNr;   r)   r   r
   r@   r      rA   r   r@   c                       e Zd Zd Zy)GTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.Barc                     || _         y r   ra   rc   s     r
   rd   zPTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.Bar.__init__   re   r   Nrf   r)   r   r
   rg   r      rh   r   rg      )rC   r6   r8   r   r   ri   rV   rD   r   subscribersassertEquallenr   rk   rb   rl   s               r
   test_no_provides_no_adaptsz:Test_provideSubscriptionAdapter.test_no_provides_no_adapts   s    ,.F/	9 		9 		T		& 	 
			T		'& 	' 
 
	' 	c"$e//3&$/Wq)
71:s34
**c12r   c                    ddl m} ddl m} ddlm}  G d d|      } G d d|      } ||       G d	 d
t
                     } G d dt
              }| j                  ||f|        |       } |       }	|j                  |	f|      }
| j                  t        |
      d       | j                  t        |
d   |             | j                  |
d   j                  |	u        y )Nr   r5   r7   r   c                       e Zd Zy)FTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.IFooNr;   r)   r   r
   r<   r      r=   r   r<   c                       e Zd Zy)FTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.IBarNr;   r)   r   r
   r[   r      r=   r   r[   c                       e Zd Zy)ETest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.FooNr;   r)   r   r
   r@   r      rA   r   r@   c                       e Zd Zd Zy)ETest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.Barc                     || _         y r   ra   rc   s     r
   rd   zNTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.Bar.__init__   re   r   Nrf   r)   r   r
   rg   r      ry   r   rg   r   )rC   r6   r8   r   r   rD   r   r   r   r   r   rk   rb   r|   s              r
   test_w_provides_w_adaptsz8Test_provideSubscriptionAdapter.test_w_provides_w_adapts   s    ,.F	9 		9 		T		& 	 
		'& 	' 	cD7D)"$e//3&$/Wq)
71:s34
**c12r   N)	r&   r'   r(   rO   r-   r.   r   r   r   r)   r   r
   r   r      s    67323r   r   c                   .    e Zd ZddlmZmZ d Zd Zd Zy)Test_provideHandlerr   r,   c                     ddl m}  ||i |S )Nr   )provideHandler)r   r   )r	   r1   r2   r   s       r
   r   zTest_provideHandler._callFUT   r3   r   c           	      ,   ddl m} ddl m} ddl m} ddlm} ddlm}  G d d|      } ||       G d	 d
t                     } ||      d        }| j                  |        |       }	t        |	j                               }
| j                  t        |
      d       |
d   }| j                  t        |j                        t         | |                          | j                  |j                  d       | j!                  |j"                  |u        y )Nr   r5   r7   )r   r   rU   c                       e Zd Zy)0Test_provideHandler.test_no_adapts.<locals>.IFooNr;   r)   r   r
   r<   r      r=   r   r<   c                       e Zd Zy)/Test_provideHandler.test_no_adapts.<locals>.FooNr;   r)   r   r
   r@   r      rA   r   r@   c                     J d       NzDON'T GO HEREr)   ra   s    r
   _handlerz4Test_provideHandler.test_no_adapts.<locals>._handler   s    %o%1r   r   rB   )rC   r6   r8   r   r   r   ri   rV   rD   r   listregisteredHandlersr   r   requiredr{   r   factory)r	   r6   r8   r   r   rV   r<   r@   r   r   regshrs               r
   test_no_adaptsz"Test_provideHandler.test_no_adapts   s    ,.-F/	9 		T		& 	 
			& 
	&h"$C**,-TA&!Wbkk*DCE1B,CD"%

h./r   c                    ddl m} ddlm}  G d d|      }d }| j	                  ||f        |       }t        |j                               }| j                  t        |      d       |d   }| j                  t        |j                        |g       | j                  |j                  d       | j                  |j                  |u        y )	Nr   r5   r   c                       e Zd Zy)/Test_provideHandler.test_w_adapts.<locals>.IFooNr;   r)   r   r
   r<   r      r=   r   r<   c                     J d       r   r)   ra   s    r
   r   z3Test_provideHandler.test_w_adapts.<locals>._handler   s    %o%1r   r   rB   )rC   r6   r   r   r   r   r   r   r   r   r{   r   r   )r	   r6   r   r<   r   r   r   r   s           r
   test_w_adaptsz!Test_provideHandler.test_w_adapts   s    ,F	9 		&h("$C**,-TA&!Wbkk*TF3"%

h./r   N)	r&   r'   r(   rO   r-   r.   r   r   r   r)   r   r
   r   r      s    6+0.0r   r   c            	         t        j                  t        j                  t              t        j                  t              t        j                  t
              t        j                  t              t        j                  t              f      S r   )unittest	TestSuite	makeSuiter   r+   rQ   r   r   r)   r   r
   
test_suiter      se    45././:;./  r   )	__doc__r   TestCaser   r+   rQ   r   r   r   r)   r   r
   <module>r      sq    9 1 1 9B >(++  >F30(++ 30l53h&7&7 53p-0(++ -0`r   