
    afKa                         d dl mZ d dlmZmZmZ d dlZ G d dej                  Z G d dej                  Z	 G d d	e
          Z G d
 de          Z G d dej                  ZdS )    )wamp)PatternRegisterOptionsSubscribeOptionsNc                        e Zd Zd Zd Zd ZdS )TestUrisc                 h    dD ].}|                      t          t          |t          j                   /d S )N) zcom.myapp.<product:foo>.updatezcom.myapp.<123:int>.updatezcom.myapp.<:product>.updatezcom.myapp.<product:>.updatezcom.myapp.<int:>.update)assertRaises	Exceptionr   URI_TARGET_ENDPOINT)selfus     Z/var/www/html/env/lib/python3.11/site-packages/autobahn/wamp/test/test_wamp_uri_pattern.pytest_invalid_uriszTestUris.test_invalid_uris#   sC     	R 	RA i!W5PQQQQ	R 	R    c                 z    dD ]7}t          |t           j                  }|                     |t                      8d S )N)zcom.myapp.proc1123com.myapp.<product:int>.updatezIcom.myapp.<category:string>.<subcategory>.listcom.myapp.something..update)r   r   assertIsInstance)r   r   ps      r   test_valid_uriszTestUris.test_valid_uris-   sJ     	. 	.A 7677A!!!W----	. 	.r   c           	         ddddifdddifddd	gfd
dddifdddifdgfddddifdddifdgfdddddfdddgfddddifgfddd d!ifgfg}|D ]}t          |d         t           j                  }|d"         D ]d}|d         }|d"         }|/|                    |          \  }}|                     ||           C|                     t
          |j        |           ed S )#Nr   zcom.myapp.0.updateproductr   zcom.myapp.123456.update@ )zcom.myapp.aaa.updateN)zcom.myapp..updateN)zcom.myapp.0.deleteNz!com.myapp.<product:string>.updatezcom.myapp.box.updatebox123456zcom.myapp.<product>.update0zcom.myapp.abc.updateabcz5com.myapp.<category:string>.<subcategory:string>.listzcom.myapp.cosmetic.shampoo.listcosmeticshampoo)categorysubcategory)zcom.myapp...listN)zcom.myapp.cosmetic..listN)zcom.myapp..shampoo.listNz4eth.pydefi.tradeclock.<clock_oid:str>.get_clock_infozIeth.pydefi.tradeclock.ba3b1e9f-3006-4eae-ae88-cf5896b36342.get_clock_info	clock_oidz$ba3b1e9f-3006-4eae-ae88-cf5896b36342z0eth.wamp.network.catalog.<catalog_adr:str>.ownerzIeth.wamp.network.catalog.0xAA8Cc377db31a354137d8Bb86D0E38495dbD5266.ownercatalog_adr*0xAA8Cc377db31a354137d8Bb86D0E38495dbD5266   )r   r   matchassertEqualr   r   )	r   teststestpatptesturikwargs_shouldargs_is	kwargs_iss	            r   test_parse_uriszTestUris.test_parse_uris7   s   -%	1~6*Y,?@.+,0  1')U);<*Y,AB+3 
 *%	3'78')U);<+, 
 E2\e4f4fg*21	G  D\EFHF  @\!MNPB 9 
B  		A 		AD$q'7#>??Ca A AAh %a ,),3&GY$$Y>>>>%%iC@@@@A		A 		Ar   N)__name__
__module____qualname__r   r   r2    r   r   r   r   !   sI        R R R. . .+A +A +A +A +Ar   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestDecoratorsc                 x   t          j        d          d             }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d          dd            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d          dd	            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d
t'          dd                    dd            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     | 	                    |j        d         j        t&                     |                     |j        d         j        j        d           |                     |j        d         j        j        d           |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d
           |                     |j        d         j        t          j                   t          j        dt'          dd                    dd            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     | 	                    |j        d         j        t&                     |                     |j        d         j        j        d           |                     |j        d         j        j        d           |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   d S )Ncom.calculator.squarec                     dS Do nothing.Nr6   )_s    r   squarez5TestDecorators.test_decorate_endpoint.<locals>.squareh         r   	_wampurisr'   r   &com.myapp.product.<product:int>.updatec                     dS r<   r6   r   labels     r   update_productz=TestDecorators.test_decorate_endpoint.<locals>.update_productv   r@   r   ,com.myapp.<category:string>.<cid:int>.updatec                     dS r<   r6   )r"   cids     r   updatez5TestDecorators.test_decorate_endpoint.<locals>.update   r@   r   zcom.myapp.circle.<name:string>wildcarddetailsr(   details_argc                     dS z Do nothing. Nr6   )namerL   s     r   circlez5TestDecorators.test_decorate_endpoint.<locals>.circle   r@   r   zcom.myapp.something..updatec                     dS rP   r6   )dynamicrL   s     r   	somethingz8TestDecorators.test_decorate_endpoint.<locals>.something   r@   r   NN)r   register
assertTruehasattrtyperA   listr)   lenr   r   is_endpointassertFalse
is_handleris_exceptionr.   _typeURI_TYPE_EXACTURI_TYPE_WILDCARDr   optionsr(   rN   )r   r?   rF   rJ   rR   rU   s         r   test_decorate_endpointz%TestDecorators.test_decorate_endpointg   s1   	.	/	/	 	 
0	/	 	44555V-..$6777V-..222f.q17;;;(+7799:::)!,7799:::)!,99;;<<<)!,00224KLLL)!,2G4JKKK	?	@	@	 	 	 
A	@	 	<<===^566$>???^566:::n6q97CCC03??AABBB1!4??AABBB1!4AACCDDD1!488::<deee1!4:G<UVVV	E	F	F	 	 	 
G	F	 	44555V-..$6777V-..222f.q17;;;(+7799:::)!,7799:::)!,99;;<<<)!,00224bccc)!,2G4MNNN	7&ZYOOO
Q 
Q	  	  	 
Q 
Q	  	44555V-..$6777V-..222f.q17;;;f.q19?KKK)!,4:JGGG)!,4@)LLL(+7799:::)!,7799:::)!,99;;<<<)!,00224TUUU)!,2G4MNNN	4&ZYOOO
Q 
Q	  	  	 
Q 
Q	  		;77888Y011T9:::Y0111555i1!4g>>>i1!4<oNNN,Q/7=zJJJ,Q/7CYOOO	+A.::<<===,Q/::<<===,Q/<<>>???,Q/33557TUUU,Q/5w7PQQQQQr   c                    t          j        d          d             }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d          dd            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d          dd	            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d
t'          dd                    dd            }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           | 	                    |j        d         t                     | 	                    |j        d         j        t&                     |                     |j        d         j        j        d           |                     |j        d         j        j        d           |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d
           |                     |j        d         j        t          j                   d S )Ncom.myapp.on_shutdownc                      dS r<   r6   r6   r   r   on_shutdownz9TestDecorators.test_decorate_handler.<locals>.on_shutdown   r@   r   rA   r'   r   )com.myapp.product.<product:int>.on_updatec                     dS r<   r6   rD   s     r   on_product_updatez?TestDecorators.test_decorate_handler.<locals>.on_product_update   r@   r   /com.myapp.<category:string>.<cid:int>.on_updatec                     dS r<   r6   r"   rI   rE   s      r   	on_updatez7TestDecorators.test_decorate_handler.<locals>.on_update   r@   r   zcom.myapp.on.<event:string>rK   rL   rM   c                     dS rP   r6   )eventrL   s     r   on_eventz6TestDecorators.test_decorate_handler.<locals>.on_event   r@   r   rV   NNN)r   	subscriberX   rY   rZ   rA   r[   r)   r\   r   r   r^   r]   r_   r`   r.   ra   rb   rc   r   rd   r(   rN   )r   ri   rl   rp   rs   s        r   test_decorate_handlerz$TestDecorators.test_decorate_handler   sJ   	/	0	0	 	 
1	0	 	[99:::[233t;<<<[233Q777k3A6@@@.q1==??@@@-a0;;==>>>.q1>>@@AAA.q155779PQQQ.q179OPPP	C	D	D	 	 	 
E	D	 	 1;??@@@.899TABBB.8991===/9!<gFFF*4Q7CCEEFFF)3A6AACCDDD*4Q7DDFFGGG*4Q7;;==?jkkk*4Q7=w?XYYY	I	J	J	 	 	 
K	J	 		;77888Y011T9:::Y0111555i1!4g>>>,Q/;;==>>>	+A.99;;<<<,Q/<<>>???,Q/33557hiii,Q/5w7PQQQ	5(zyQQQ
S 
S	  	  	 
S 
S	  	+66777X/00D8999X/00!444h03W===h03;=MNNN+A.6<jIII+A.6BINNN+A.::<<===*1-88::;;;+A.;;==>>>+A.22446STTT+A.4g6OPPPPPr   c                 
   t          j        d           G d dt                                }|                     t	          |d                     |                     t          |j                  t          k               |                     t          |j                  d           | 
                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d           G d d	t                                }|                     t	          |d                     |                     t          |j                  t          k               |                     t          |j                  d           | 
                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d           |                     |j        d         j        t          j                   t          j        d
           G d dt                                }|                     t	          |d                     |                     t          |j                  t          k               |                     t          |j                  d           | 
                    |j        d         t                     |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                                    |                     |j        d                                         d
           |                     |j        d         j        t          j                   d S )Ncom.myapp.errorc                       e Zd ZdZdS )8TestDecorators.test_decorate_exception.<locals>.AppErrorr=   Nr3   r4   r5   __doc__r6   r   r   AppErrorrz              r   r}   rA   r'   r   0com.myapp.product.<product:int>.product_inactivec                       e Zd ZdZdS )DTestDecorators.test_decorate_exception.<locals>.ProductInactiveErrorr=   Nr{   r6   r   r   ProductInactiveErrorr     r~   r   r   2com.myapp.<category:string>.<product:int>.inactivec                       e Zd ZdZdS )CTestDecorators.test_decorate_exception.<locals>.ObjectInactiveErrorr=   Nr{   r6   r   r   ObjectInactiveErrorr     r~   r   r   )r   errorr   rX   rY   rZ   rA   r[   r)   r\   r   r   r^   r]   r_   r`   r.   ra   rb   rc   )r   r}   r   r   s       r   test_decorate_exceptionz&TestDecorators.test_decorate_exception   s   	%	&	&	 	 	 	 	y 	 	 
'	&	 	+66777X/00D8999X/00!444h03W===+A.::<<===+A.99;;<<<*1-::<<===+A.22446GHHH+A.4g6LMMM	F	G	G	 	 	 	 	9 	 	 
H	G	 	 4kBBCCC1;<<DEEE1;<<a@@@2<Q?III-7:FFHHIII-7:EEGGHHH,6q9FFHHIII-7:>>@@Btuuu-7:@'B[\\\	H	I	I	 	 	 	 	) 	 	 
J	I	 	 3[AABBB0:;;tCDDD0:;;Q???1;A>HHH,6q9EEGGHHH,6q9DDFFGGG+5a8EEGGHHH,6q9==??Auvvv,6q9?AZ[[[[[r   c                 F   t          j        d          d             }|j        d                             d          \  }}|                      |di |d           t          j        d          dd            }|j        d                             d          \  }}d|d	<   |                      |di |d
           t          j        d          dd            }|j        d                             d          \  }}d|d	<   |                      |di |d           d S )Nr:   c                     | S Nr6   xs    r   r?   z<TestDecorators.test_match_decorated_endpoint.<locals>.square  s    Hr   r     rB   c                 
    | |fS r   r6   rD   s     r   rF   zDTestDecorators.test_match_decorated_endpoint.<locals>.update_product&      E>!r   zcom.myapp.product.123456.updatefoobarrE   r   r   rG   c                     | ||fS r   r6   ro   s      r   rJ   z<TestDecorators.test_match_decorated_endpoint.<locals>.update.      S%''r   r   r   r   )r   rV   r6   rt   )r   rW   rA   r(   r)   )r   r?   argskwargsrF   rJ   s         r   test_match_decorated_endpointz,TestDecorators.test_match_decorated_endpoint  so   	.	/	/	 	 
0	/	 '*001HIIf..v..444	?	@	@	" 	" 	" 
A	@	" &/2889Z[[f"w11&113EFFF	E	F	F	( 	( 	( 
G	F	( '*001RSSf"w))&))+HIIIIIr   c                 F   t          j        d          d             }|j        d                             d          \  }}|                      |di |d            t          j        d          dd            }|j        d                             d          \  }}d|d<   |                      |di |d	           t          j        d
          dd            }|j        d                             d          \  }}d|d<   |                      |di |d           d S )Nrg   c                      d S r   r6   r6   r   r   ri   z@TestDecorators.test_match_decorated_handler.<locals>.on_shutdown7  s    Dr   r   rj   c                 
    | |fS r   r6   rD   s     r   rl   zFTestDecorators.test_match_decorated_handler.<locals>.on_product_update>  r   r   z"com.myapp.product.123456.on_updater   rE   r   rm   c                     | ||fS r   r6   ro   s      r   rp   z>TestDecorators.test_match_decorated_handler.<locals>.on_updateF  r   r   r   r6   rV   rt   )r   ru   rA   r(   r)   )r   ri   r   r   rl   rp   s         r   test_match_decorated_handlerz+TestDecorators.test_match_decorated_handler6  sq   	/	0	0	 	 
1	0	 #,Q/556MNNf..v..555	C	D	D	" 	" 	" 
E	D	" )215;;<`aaf"w**44V446HIII	I	J	J	( 	( 	( 
K	J	( !*1-334XYYf"w,,V,,.KLLLLLr   c                    t          j        d           G d dt                                }|j        d                             d          \  }}|                      |di | |d                     t          j        d           G d dt                                }|j        d                             d	          \  }}|                      |di | |dd
                     t          j        d           G d dt                                }|j        d                             d          \  }}|                      |di | |ddd
                     d S )Nrx   c                       e Zd Zd Zd ZdS )?TestDecorators.test_match_decorated_exception.<locals>.AppErrorc                 <    t                               | |           d S r   )r   __init__)r   msgs     r   r   zHTestDecorators.test_match_decorated_exception.<locals>.AppError.__init__R  s    ""4-----r   c                 B    | j         |j         k    o| j        |j        k    S r   )	__class__r   r   others     r   __eq__zFTestDecorators.test_match_decorated_exception.<locals>.AppError.__eq__U  s    ~8TTY%*=TTr   Nr3   r4   r5   r   r   r6   r   r   r}   r   O  s7        . . .U U U U Ur   r}   r   fuckr   c                       e Zd ZddZd ZdS )KTestDecorators.test_match_decorated_exception.<locals>.ProductInactiveErrorNc                 J    t                               | |           || _        d S r   r   r   r   r   r   r   s      r   r   zTTestDecorators.test_match_decorated_exception.<locals>.ProductInactiveError.__init___  #    ""4---&r   c                 b    | j         |j         k    o| j        |j        k    o| j        |j        k    S r   )r   r   r   r   s     r   r   zRTestDecorators.test_match_decorated_exception.<locals>.ProductInactiveError.__eq__c  s1    ~8vTY%*=TvY]YeinivYvvr   r   r   r6   r   r   r   r   \  s<        ' ' ' 'w w w w wr   r   z)com.myapp.product.123456.product_inactiver   r   c                       e Zd ZddZd ZdS )JTestDecorators.test_match_decorated_exception.<locals>.ObjectInactiveErrorNc                 X    t                               | |           || _        || _        d S r   )r   r   r"   r   )r   r   r"   r   s       r   r   zSTestDecorators.test_match_decorated_exception.<locals>.ObjectInactiveError.__init__l  s*    ""4--- (&r   c                     | j         |j         k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r   )r   r   r"   r   r   s     r   r   zQTestDecorators.test_match_decorated_exception.<locals>.ObjectInactiveError.__eq__q  sI    ~8 VTY%*=T VMU^3V8<8UVr   rV   r   r6   r   r   r   r   i  s<        ' ' ' '
V V V V Vr   r   z!com.myapp.product.123456.inactiver   )r   )r   r   r   rA   r(   r)   )r   r}   r   r   r   r   s         r   test_match_decorated_exceptionz-TestDecorators.test_match_decorated_exceptionN  s   	%	&	&	U 	U 	U 	U 	Uy 	U 	U 
'	&	U  )!,223DEEf33F33XXf5E5EFFF	F	G	G	w 	w 	w 	w 	w9 	w 	w 
H	G	w ,5a8>>?jkkf--????AUAUV\^dAeAefff	H	I	I		V 		V 		V 		V 		V) 		V 		V 
J	I		V +4Q7==>abbf,,>>v>>@S@STZ\egm@n@nooooor   N)	r3   r4   r5   re   rv   r   r   r   r   r6   r   r   r8   r8   e   s        MR MR MR^;Q ;Q ;Qz)\ )\ )\VJ J J0M M M0(p (p (p (p (pr   r8   c                       e Zd Zd ZdS )KwExceptionc                 8    t          j        | g|R   || _        d S r   )r   r   r   )r   r   r   s      r   r   zKwException.__init__z  s&    4'$''''r   Nr3   r4   r5   r   r6   r   r   r   r   y  s#            r   r   c                   $    e Zd Zd ZddZddZdS )MockSessionc                 "    i | _         i | _        d S r   )_ecls_to_uri_pat_uri_to_ecls)r   s    r   r   zMockSession.__init__  s     "r   Nc                    |Jt          |d          sJ |j        | j        |<   || j        |j        d                                         <   d S t          |d          rJ t          |t
          j                  g| j        |<   || j        |<   d S )NrA   r   )rY   rA   r   r   r.   r   URI_TARGET_HANDLER)r   	exceptionr   s      r   definezMockSession.define  s    =I{33443/8/BD!),>GDi1!488::;;;	;7788707w?Y0Z0Z/[D!),'0De$$$r   c                     || j         v rW| j         |         }	 |r|r	 ||i |}n |di |}n|r || }n
 |            }n8# t          $ r t          |g|R i |}Y nw xY w|pg }|pi }t          |g|R i |}|S )Nr6   )r   r   r   )r   r   r   r   eclsexcs         r   	map_errorzMockSession.map_error  s     D%%%$U+D:  	% -"dD3F33"dnnVnn %"dDk"dff : : :!%9$999&99:
 :2D\rFe5d555f55C
s   (A AAr   rV   )r3   r4   r5   r   r   r   r6   r   r   r   r     sK          1 1 1 1     r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestDecoratorsAdvancedc                 B    d }|                      t          |           d S )Nc                  `    t          j        d           G d dt                                } d S )Nzcom.test.errorc                       e Zd ZdS )WTestDecoratorsAdvanced.test_decorate_exception_non_exception.<locals>.test.<locals>.FooNr3   r4   r5   r6   r   r   Foor     s        r   r   )r   r   object)r   s    r   r+   zJTestDecoratorsAdvanced.test_decorate_exception_non_exception.<locals>.test  sL    Z())    f   *)  r   )r   r   )r   r+   s     r   %test_decorate_exception_non_exceptionz<TestDecoratorsAdvanced.test_decorate_exception_non_exception  s/    	 	 	 	)T*****r   c                 2   t          j        d          t          j        d          d                         }|                     t          |d                     |                     t	          |j                  t          k               |                     t          |j                  d           t          d          D ]}| 
                    |j        |         t                     |                     |j        |                                                    |                     |j        |                                                    |                     |j        |                                                    |                     |j        |         j        t          j                   |                     |j        d                                         d           |                     |j        d                                         d           d S )Nzcom.oldapp.oldprocr:   c                     dS r<   r6   r   s    r   r?   zFTestDecoratorsAdvanced.test_decorate_endpoint_multiple.<locals>.square  r@   r   rA      r   r'   )r   rW   rX   rY   rZ   rA   r[   r)   r\   ranger   r   r]   r^   r_   r`   ra   rb   r.   )r   r?   is      r   test_decorate_endpoint_multiplez6TestDecoratorsAdvanced.test_decorate_endpoint_multiple  s    
+	,	,	.	/	/	 	 
0	/ 
-	,	 	44555V-..$6777V-..222q 	P 	PA!!&"21"5w???OOF,Q/;;==>>>V-a0;;==>>>V-a0==??@@@V-a068NOOOO)!,00224KLLL)!,00224HIIIIIr   c                 Z   t          j        d           G d dt                                }	  |d          # t          $ r=}|                     |j        d                                         d           Y d }~nd }~ww xY wt          j        d           G d dt                                }	  |dd	          # t          $ r=}|                     |j        d                                         d           Y d }~nd }~ww xY wt                      }|                    |           d S )
Nrx   c                       e Zd ZdS )ITestDecoratorsAdvanced.test_marshal_decorated_exception.<locals>.AppErrorNr   r6   r   r   r}   r             Dr   r}   r   r   r   c                       e Zd ZddZdS )UTestDecoratorsAdvanced.test_marshal_decorated_exception.<locals>.ProductInactiveErrorNc                 J    t                               | |           || _        d S r   r   r   s      r   r   z^TestDecoratorsAdvanced.test_marshal_decorated_exception.<locals>.ProductInactiveError.__init__  r   r   r   r   r6   r   r   r   r     s(        ' ' ' ' ' 'r   r   r   )r   r   r   r)   rA   r.   r   r   )r   r}   er   sessions        r    test_marshal_decorated_exceptionz7TestDecoratorsAdvanced.test_marshal_decorated_exception  s   	%	&	&	 	 	 	 	y 	 	 
'	&		F(6""" 	F 	F 	FQ[^//113DEEEEEEEE	F 
F	G	G	' 	' 	' 	' 	'9 	' 	' 
H	G	'	g&&vv666 	g 	g 	gQ[^//113effffffff	g --x     s-   : 
B3A<<B2B> >
D3D  Dc                    t                      } G d dt                    }|                     t          |j        |           |                    |d           |                    d          }|                     ||           d S )Nc                       e Zd ZdS )JTestDecoratorsAdvanced.test_define_exception_undecorated.<locals>.AppErrorNr   r6   r   r   r}   r     s        Dr   r}   rx   )r   r   r   r   r   r   r   r   r}   r   s       r   !test_define_exception_undecoratedz8TestDecoratorsAdvanced.test_define_exception_undecorated  s    --	 	 	 	 	y 	 	 	
 	)W^X>>>x!2333 122c8,,,,,r   c                 @   t                      }t          j        d           G d dt                                }|                     t          |j        |d           |                    |           |                    d          }|                     ||           d S )Nrx   c                       e Zd ZdS )HTestDecoratorsAdvanced.test_define_exception_decorated.<locals>.AppErrorNr   r6   r   r   r}   r     r   r   r}   )r   r   r   r   r   r   r   r   r   s       r   test_define_exception_decoratedz6TestDecoratorsAdvanced.test_define_exception_decorated  s    --	%	&	&	 	 	 	 	y 	 	 
'	&	
 	)W^X?PQQQx    122c8,,,,,r   c                     t                      }|                    d          }|                     |t                     d S )Nrx   )r   r   r   r   )r   r   r   s      r   test_map_exception_undefinedz3TestDecoratorsAdvanced.test_map_exception_undefined  s;    -- 122c9-----r   c                 (   t                      }t          j        d           G d dt                                }t          j        d           G d dt                                }|                    |           |                    |           dg i |fddgi |fdg di |fdg i |fdg d	d
i|ffD ]^}|\  }}}}|                    |||          }	|                     |	|           |                     t          |	j	                  |           _d S )Nrx   c                       e Zd ZdS )@TestDecoratorsAdvanced.test_map_exception_args.<locals>.AppErrorNr   r6   r   r   r}   r   #  r   r   r}   z com.myapp.error.product_inactivec                       e Zd ZddZdS )LTestDecoratorsAdvanced.test_map_exception_args.<locals>.ProductInactiveErrorNc                     || _         d S r   )r   )r   r   s     r   r   zUTestDecoratorsAdvanced.test_map_exception_args.<locals>.ProductInactiveError.__init__)  s    &r   r   r   r6   r   r   r   r   '  s(        ' ' ' ' ' 'r   r   you are doing it wrong)r   r'   r      r   r   )
r   r   r   r   r   r   r   r)   r[   r   )
r   r   r}   r   r+   r   r   r   r   r   s
             r   test_map_exception_argsz.TestDecoratorsAdvanced.test_map_exception_args  s}   --	%	&	&	 	 	 	 	y 	 	 
'	&	 
6	7	7	' 	' 	' 	' 	'9 	' 	' 
8	7	'
 	x   +,,, B1!9 :BI C C CRR/R9MN/i5HJ^_
 	3 	3D )-%E4##E488C!!#t,,,T#(^^T2222	3 	3r   N)
r3   r4   r5   r   r   r   r   r   r   r   r6   r   r   r   r     s        + + +J J J,! ! !4- - - - - -". . .3 3 3 3 3r   r   )autobahnr   autobahn.wamp.urir   r   r   unittestTestCaser   r8   r   r   r   r   r   r6   r   r   <module>r      sR  6       H H H H H H H H H H AA AA AA AA AAx  AA AA AAHQp Qp Qp Qp QpX& Qp Qp Qph    )   ". . . . .& . . .bB3 B3 B3 B3 B3X. B3 B3 B3 B3 B3r   