
    8'h2                        d dl mZ d dlmZ d dlmZ d dlmZmZ d dlZ G d de	      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 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 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 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 G d0 d1ej                        Z  G d2 d3ej                        Z!y)4    )absolute_import)role)message)ProtocolErrorInvalidUriErrorNc                       e Zd Zy)FooN)__name__
__module____qualname__     [/var/www/html/trade_iq/venv/lib/python3.12/site-packages/autobahn/wamp/test/test_message.pyr	   r	   $   s    r   r	   c                       e Zd Zd Zd Zy)TestIdsc                 \    dD ]'  }| j                  |t        j                  |             ) y )N)r         i l          )assertEqualr   check_or_raise_idselfvals     r   test_valid_idszTestIds.test_valid_ids*   s.    7 	BCS'";";C"@A	Br   c                     ddd dddddt               dd	g i fD ]'  }| j                  t        t        j                  |       ) y )
Nl       r      abc abcg?FT)r	   assertRaisesr   r   r   r   s     r   test_invalid_idszTestIds.test_invalid_ids.   sO    )4fc63PSPUW\^bdfhjk 	MCmW-F-FL	Mr   N)r
   r   r   r   r!   r   r   r   r   r   (   s    BMr   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestUrisc                 \    dD ]'  }| j                  |t        j                  |             ) y )N)	com.myapp.topic1com.myapp.product.123com.myapp.product.1.deleteCom-star.MyApp.**+$for   Îºá½¹ÏÎ¼Îµhello$world   helloÂ¢world   helloâ¬world   helloð¤­¢worldr   r   check_or_raise_urir   us     r   test_valid_uris_loose_nonemptyz'TestUris.test_valid_uris_loose_nonempty5   s0    	 
	?A Q : :1 =>
	?r   c                     dd ddddt               dddd	d
ddddfD ]'  }| j                  t        t        j                  |       ) y )Nr   TF皙?r   r   .com.com..productcom.my app.productcom.my	app.productcom.my
app.productcom.myapp.product#com.#.productr	   r    r   r   r/   r0   s     r    test_invalid_uris_loose_nonemptyz)TestUris.test_invalid_uris_loose_nonemptyB   sa    %!'(('" 	NA" ow/I/I1M#	Nr   c                 `    dD ])  }| j                  |t        j                  |d             + y )N)r%   com.myapp..123com.myapp.product.1.r6   r5   r   Com-star.MyApp.**+$for..foo   Îºá½¹ÏÎ¼Îµ..foohello$world..foo   helloÂ¢world..foo   helloâ¬world..foo   helloð¤­¢world..fooTallow_empty_componentsr.   r0   s     r   test_valid_uris_loose_emptyz$TestUris.test_valid_uris_loose_emptyV   s5     	\A Q : :1UY Z[	\r   c                     dd ddddt               dddd	d
fD ])  }| j                  t        t        j                  |d       + y )Nr   TFr4   r   r8   r9   r:   r;   r<   rH   r=   r0   s     r   test_invalid_uris_loose_emptyz&TestUris.test_invalid_uris_loose_emptyf   s[    %'(('" 	kA ow/I/I1eij	kr   c                 `    dD ])  }| j                  |t        j                  |d             + y )N)r%   r&   r'   Tstrictr.   r0   s     r   test_valid_uris_strict_nonemptyz(TestUris.test_valid_uris_strict_nonemptyv   s4     	LA Q : :1T JK		Lr   c                     dd ddddt               dddd	d
ddddddddddfD ])  }| j                  t        t        j                  |d       + y )Nr   TFr4   r   r   r5   r6   r7   r8   r9   r:   r;   r<   r(   r)   r*   r+   r,   r-   rN   r=   r0   s     r   !test_invalid_uris_strict_nonemptyz*TestUris.test_invalid_uris_strict_nonempty}   sy    %!'(('"+A#'+/+ 	[A. ow/I/I1UYZ/	[r   c           	      b    dD ]*  }| j                  |t        j                  |dd             , y )N)r%   r@   rA   r6   r5   r   TrO   rI   r.   r0   s     r   test_valid_uris_strict_emptyz%TestUris.test_valid_uris_strict_empty   s7     	iA Q : :1Tbf gh	ir   c                     dd ddddt               dddd	d
ddddddfD ]*  }| j                  t        t        j                  |dd       , y )Nr   TFr4   r   r8   r9   r:   r;   r<   rB   rC   rD   rE   rF   rG   rT   r=   r0   s     r   test_invalid_uris_strict_emptyz'TestUris.test_invalid_uris_strict_empty   sp    %'(('"0F(,04# 	xA& ow/I/I1UYrvw'	xr   N)r
   r   r   r2   r>   rJ   rL   rP   rR   rU   rW   r   r   r   r#   r#   3   s1    ?N(\ k L[4ixr   r#   c                       e Zd Zd Zd Zy)TestErrorMessagec           	      >   t        j                  t         j                  j                  dd      }|j	                         }| j                  t        |      d       | j                  |d   t         j                  j                         | j                  |d   t         j                  j                         | j                  |d   d       | j                  |d   i        | j                  |d   d       t        j                  t         j                  j                  ddg d	d
dd      }|j	                         }| j                  t        |      d       | j                  |d   t         j                  j                         | j                  |d   t         j                  j                         | j                  |d   d       | j                  |d   i        | j                  |d   d       | j                  |d   g d	       | j                  |d   d
dd       y )N@ com.myapp.error1   r   r            r   r^   r_   r   hellofoobarargskwargs      )r   ErrorCallMESSAGE_TYPEmarshalr   lenr   emsgs      r   	test_ctorzTestErrorMessage.test_ctor   s   MM',,33V=PQiikS1%Q!;!;<Q!:!:;Q(Q$Q!45MM',,33V=PW`rt  G  jH  IiikS1%Q!;!;<Q!:!:;Q(Q$Q!45Q+Q"h!?@r   c           	         t         j                  j                  t         j                  j                  di dg}t         j                  j	                  |      }| j                  |t         j                         | j                  |j                  t         j                  j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  t         j                  j                  di dg ddddg}t         j                  j	                  |      }| j                  |t         j                         | j                  |j                  t         j                  j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                         |       y )Nr[   r\   ra   r   rb   rc   )r   rk   rm   rl   parseassertIsInstancer   request_typerequesterrorrg   rh   rn   r   wmsgrr   s      r   test_parse_and_marshalz'TestErrorMessage.test_parse_and_marshal   s   **GLL,E,EvrSfgmm!!$'c7==1))7<<+D+DEf-$784(T*-**GLL,E,EvrSfhq|~  IQ  tR  Smm!!$'c7==1))7<<+D+DEf-$789-b(%CD-r   Nr
   r   r   rs   r|   r   r   r   rY   rY      s    A*.r   rY   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestSubscribeMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       t        j                  ddt         j                  j                        }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d	d
i       | j                  |d   d       y )Nr[   r%   r`   r   r   r^   r_   matchr   prefix)r   	Subscribern   r   ro   rm   MATCH_PREFIXrp   s      r   rs   zTestSubscribeMessage.test_ctor   s3   f&9:iikS1%Q!2!2!?!?@Q(Q$Q!45f&9ARARA_A_`iikS1%Q!2!2!?!?@Q(Q(I!67Q!45r   c                    t         j                  j                  di dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       t         j                  j                  dddidg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y )Nr[   r%   r   r   )r   r   rm   ru   rv   r   rx   topicr   MATCH_EXACTrn   r   rz   s      r   r|   z+TestSubscribeMessage.test_parse_and_marshal   sS   !!..<OP%%d+c7#4#45f-$78G$5$5$A$AB-!!..98MObc%%d+c7#4#45f-$78G$5$5$B$BC-r   c                 J   t         j                  j                  dddidg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y )Nr[   r   r   r%   Tr   r   rm   ru   rv   r   rx   r   get_retainedassertNotEqualr   r   rn   rz   s      r   test_get_retained_default_falsez4TestSubscribeMessage.test_get_retained_default_false	  s    !!..98MObc%%d+c7#4#45f-$78))40C,,d3G$5$5$B$BC-r   c                 L   t         j                  j                  dddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y )Nr[   r   Fr   r   r%   Tr   rz   s      r    test_get_retained_explicit_falsez5TestSubscribeMessage.test_get_retained_explicit_false  s    !!..9_d8egz{%%d+c7#4#45f-$78))51C,,d3G$5$5$B$BC-r   c                    t         j                  j                  dddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y )Nr[   r   Tr   r%   )r   r   rm   ru   rv   r   rx   r   r   r   r   rn   rz   s      r   test_get_retained_explicit_truez4TestSubscribeMessage.test_get_retained_explicit_true  s    !!..9_c8dfyz%%d+c7#4#45f-$78))40G$5$5$B$BC-r   N)r
   r   r   rs   r|   r   r   r   r   r   r   r   r      s    6"."	.	..r   r   c                       e Zd Zd Zd Zy)TestSubscribedMessagec                 4   t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       y Nr[   
 r_   r   r   r^   )r   
Subscribedrn   r   ro   rm   rp   s      r   rs   zTestSubscribedMessage.test_ctor,  {    vv.iikS1%Q!3!3!@!@AQ(Q(r   c                 l   t         j                  j                  ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y Nr[   r   )	r   r   rm   ru   rv   r   rx   subscriptionrn   rz   s      r   r|   z,TestSubscribedMessage.test_parse_and_marshal4      ""//@  &&t,c7#5#56f-))62-r   Nr}   r   r   r   r   r   *      ).r   r   c                       e Zd Zd Zd Zy)TestUnsubscribeMessagec                 4   t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       y r   )r   Unsubscribern   r   ro   rm   rp   s      r   rs   z TestUnsubscribeMessage.test_ctor?  s{    /iikS1%Q!4!4!A!ABQ(Q(r   c                 l   t         j                  j                  ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y r   )	r   r   rm   ru   rv   r   rx   r   rn   rz   s      r   r|   z-TestUnsubscribeMessage.test_parse_and_marshalG  s    ##00&&A!!''-c7#6#67f-))62-r   Nr}   r   r   r   r   r   =  r   r   r   c                       e Zd Zd Zd Zy)TestUnsubscribedMessagec                 x   t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddi       t        j                  ddd	      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddd	       y )
Nr[   r^   r   r   )r   r_   r   wamp.subscription.revokedr   reason)r   Unsubscribedrn   r   ro   rm   rp   s      r   rs   z!TestUnsubscribedMessage.test_ctorR  e     (iikS1%Q!5!5!B!BCQ(  8iikS1%Q!5!5!B!BCQ#Q/6!:;  @\]iikS1%Q!5!5!B!BCQ#Q6Fb!cdr   c                    t         j                  j                  dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y )Nr[   r   r   r   r   )
r   r   rm   ru   rv   r   rx   r   r   rn   rz   s      r   r|   z.TestUnsubscribedMessage.test_parse_and_marshalg     $$116:""((.c7#7#78f-))40T*-$$1116OP""((.c7#7#78a())62T*-$$111[w6xy""((.c7#7#78a())62%AB-r   Nr}   r   r   r   r   r   P      e*.r   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestPublishMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       t        j                  ddg dd	d
d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       | j                  |d   g d       | j                  |d   d	d
d       t        j                  ddddgg d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddgg dd       | j                  |d   d       y )Nr[   r%   r`   r   r   r^   r_   ra   r   rb   rc   rf   rj   r]   F,  d      r   
exclude_meexcludeeligible)r   Publishrn   r   ro   rm   rp   s      r   rs   zTestPublishMessage.test_ctor  s   OOF$78iikS1%Q!=!=>Q(Q$Q!45OOF$7iY[emPnoiikS1%Q!=!=>Q(Q$Q!45Q+Q"h!?@OOF$7ETWSXcrsiikS1%Q!=!=>Q(QSEXg!hiQ!45r   c                    t         j                  j                  di dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  di dg ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddgg d	d
dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                  dg       | j                  |j                  g d	       | j                  |j                         |       y )Nr[   r%   ra   r   rb   rc   Fr   r   r   )r   r   rm   ru   rv   r   rx   r   rg   rh   r   r   r   rn   rz   s      r   r|   z)TestPublishMessage.test_parse_and_marshal  s   ,,fb:MNoo##D)c7??3f-$784(T*.d+t,-,,fb:MyceowZxyoo##D)c7??3f-$789-b(%CD.d+t,-,,feZ]Y^m|6}  @S  Too##D)c7??3f-$784(T*/se,7-r   c                 |   t         j                  j                  dddgg dddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y)	zD
        Retain, when not specified, is False-y by default.
        r[   Fr   r   r   r%   NT	r   r   rm   ru   rv   r   retainassertIsNotrn   rz   s      r   test_retain_default_falsez,TestPublishMessage.test_retain_default_false  s     ,,feZ]Y^m|6}  @S  Too##D)c7??3T*T*-r   c                 ~   t         j                  j                  ddddgg dddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y)	zK
        Retain, when specified as False, shows up in the message.
        r[   Fr   r   r   r   r   r   r%   TNr   rz   s      r   test_retain_explicit_falsez-TestPublishMessage.test_retain_explicit_false  s     ,,feX]lokp  @O  7P  Re  foo##D)c7??3U+T*-r   c                 ~   t         j                  j                  ddddgg dddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y)	zJ
        Retain, when specified as True, shows up in the message.
        r[   FTr   r   r   r%   N)	r   r   rm   ru   rv   r   r   assertIsrn   rz   s      r   test_retain_explicit_truez,TestPublishMessage.test_retain_explicit_true  s     ,,feX\knjo  N  7O  Qd  eoo##D)c7??3T*cjj$'-r   N)r
   r   r   rs   r|   r   r   r   r   r   r   r   r     s    66#.J	.	.	.r   r   c                       e Zd Zd Zd Zy)TestPublishedMessagec                 4   t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       y r   )r   	Publishedrn   r   ro   rm   rp   s      r   rs   zTestPublishedMessage.test_ctor  s{    ff-iikS1%Q!2!2!?!?@Q(Q(r   c                 l   t         j                  j                  ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y r   )	r   r   rm   ru   rv   r   rx   publicationrn   rz   s      r   r|   z+TestPublishedMessage.test_parse_and_marshal  s    !!..?%%d+c7#4#45f-&1-r   Nr}   r   r   r   r   r     r   r   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestEventMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   i        t        j                  ddg dd	d
d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   i        | j                  |d   g d       | j                  |d   d	d
d       t        j                  ddd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   ddi       y )Nr[   r   r`   r   r   r^   r_   ra   r   rb   rc   rf   rj   r]   r   )	publisherr   )r   Eventrn   r   ro   rm   rp   s      r   rs   zTestEventMessage.test_ctor  s   MM&&)iikS1%Q!;!;<Q(Q(Q$MM&&y"V^A_`iikS1%Q!;!;<Q(Q(Q$Q+Q"h!?@MM&&C8iikS1%Q!;!;<Q(Q(Q,!45r   c                 V   t         j                  j                  ddi g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddi g ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y )	Nr[   r   ra   r   rb   rc   r   r   )r   r   rm   ru   rv   r   r   r   rg   rh   r   rn   rz   s      r   r|   z'TestEventMessage.test_parse_and_marshal  sK   **FFB?mm!!$'c7==1))62&14(T*--**FFB	TV`hKijmm!!$'c7==1))62&19-b(%CD--**FF\3<OPmm!!$'c7==1))62&14(T*,-r   c                 n   t         j                  j                  ddi g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y )Nr[   r   T	r   r   rm   ru   rv   r   retainedr   rn   rz   s      r   test_retained_default_falsez,TestEventMessage.test_retained_default_false4  s    **FFB?mm!!$'c7==1t,CLL$/-r   c                 r   t         j                  j                  ddddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y )Nr[   r   r   FTr   rz   s      r   test_retained_explicit_falsez-TestEventMessage.test_retained_explicit_false<  s    **FF[%<PQmm!!$'c7==1u-CLL$/-r   c                 :   t         j                  j                  ddddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                         |       y )Nr[   r   r   T)r   r   rm   ru   rv   r   r   rn   rz   s      r   test_retained_explicit_truez,TestEventMessage.test_retained_explicit_trueD  sq    **FF[$<OPmm!!$'c7==1t,-r   N)r
   r   r   rs   r|   r   r   r   r   r   r   r   r     s    66.>...r   r   c                   $    e Zd Zd Zd Zd Zd Zy)TestRegisterMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       t        j                  ddd	      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d
di       | j                  |d   d       y )Nr[   com.myapp.procedure1r`   r   r   r^   r_   wildcardr   r   )r   Registerrn   r   ro   rm   rp   s      r   rs   zTestRegisterMessage.test_ctorN  s'   V%<=iikS1%Q!1!1!>!>?Q(Q$Q!89V%<KPiikS1%Q!1!1!>!>?Q(Q(K!89Q!89r   c                    t        j                  ddd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d	di       | j                  |d
   d       t         j                  j                  |      }t        |       y )Nr[   r   T)force_reregisterr`   r   r   r^   r   r_   )r   r   rn   r   ro   rm   ru   str)r   rq   rr   e2s       r   test_ctor_reregisterz(TestRegisterMessage.test_ctor_reregister_  s    V%<tTiikS1%Q!1!1!>!>?Q(Q"5t!<=Q!89##C(Br   c                     t         j                  j                  dddidg}| j                  t              5 }t         j                  j                  |       d d d        | j                  dt        j                               y # 1 sw Y   /xY w)Nr[   r   truthyr   zinvalid type)	r   r   rm   r    r   ru   assertInr   	exception)r   rr   ctxs      r   #test_parse_reregister_illegal_forcez7TestRegisterMessage.test_parse_reregister_illegal_forcek  sx    )) (+#	
 }- 	(""3'	(nc#--&89	( 	(s    BBc                 L   t         j                  j                  di dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       t         j                  j                  dddidg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y )Nr[   r   exactr   r   )
r   r   rm   ru   rv   r   rx   	procedurer   rn   rz   s      r   r|   z*TestRegisterMessage.test_parse_and_marshalw  s;     --vr;RS$$T*c7#3#34f-(?@H--  --v+7NPgh$$T*c7#3#34f-(?@K0-r   N)r
   r   r   rs   r   r   r|   r   r   r   r   r   L  s    :"

:.r   r   c                       e Zd Zd Zd Zy)TestRegisteredMessagec                 4   t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       y r   )r   
Registeredrn   r   ro   rm   rp   s      r   rs   zTestRegisteredMessage.test_ctor  r   r   c                 l   t         j                  j                  ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y r   )	r   r   rm   ru   rv   r   rx   registrationrn   rz   s      r   r|   z,TestRegisteredMessage.test_parse_and_marshal  r   r   Nr}   r   r   r   r   r     r   r   r   c                       e Zd Zd Zd Zy)TestUnregisterMessagec                 4   t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       y r   )r   
Unregisterrn   r   ro   rm   rp   s      r   rs   zTestUnregisterMessage.test_ctor  r   r   c                 l   t         j                  j                  ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y r   )	r   r   rm   ru   rv   r   rx   r   rn   rz   s      r   r|   z,TestUnregisterMessage.test_parse_and_marshal  r   r   Nr}   r   r   r   r   r     r   r   r   c                       e Zd Zd Zd Zy)TestUnregisteredMessagec                 x   t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddi       t        j                  ddd	      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddd	       y )
Nr[   r^   r   r   )r   r_   r   wamp.registration.revokedr   r   )r   Unregisteredrn   r   ro   rm   rp   s      r   rs   z!TestUnregisteredMessage.test_ctor  r   r   c                    t         j                  j                  dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                         |       y )Nr[   r   r   r   r   )
r   r   rm   ru   rv   r   rx   r   r   rn   rz   s      r   r|   z.TestUnregisteredMessage.test_parse_and_marshal  r   r   Nr}   r   r   r   r   r     r   r   r   c                       e Zd Zd Zd Zy)TestCallMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       t        j                  ddg dd	d
d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   d       | j                  |d   g d       | j                  |d   d	d
d       t        j                  ddd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddi       | j                  |d   d       y )Nr[   r   r`   r   r   r^   r_   ra   r   rb   rc   rf   rj   r]   '  timeoutr  )r   rl   rn   r   ro   rm   rp   s      r   rs   zTestCallMessage.test_ctor  s   LL!89iikS1%Q!:!:;Q(Q$Q!89LL!8yZ\fnQopiikS1%Q!:!:;Q(Q$Q!89Q+Q"h!?@LL!8%HiikS1%Q!:!:;Q(Q*e!45Q!89r   c                 V   t         j                  j                  di dg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  di dg ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddidg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y )	Nr[   r   ra   r   rb   rc   r  r  )r   rl   rm   ru   rv   r   rx   r   rg   rh   r  rn   rz   s      r   r|   z&TestCallMessage.test_parse_and_marshal  sL   ))627NOll  &c7<<0f-(?@4(T*d+-))627NPYdfpx[yzll  &c7<<0f-(?@9-b(%CDd+-))6J3FH_`ll  &c7<<0f-(?@4(T*e,-r   Nr}   r   r   r   r  r    s    :6.r   r  c                       e Zd Zd Zd Zy)TestCancelMessagec                    t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        t        j                  dt         j                  j                        }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   dt         j                  j                  i       y Nr[   r_   r   r   r^   )moder  )r   Cancelrn   r   ro   rm   KILLrp   s      r   rs   zTestCancelMessage.test_ctor  s   NN6"iikS1%Q!<!<=Q(Q$NN6(;(;<iikS1%Q!<!<=Q(Q'7>>+>+>!?@r   c                 8   t         j                  j                  di g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddt         j                  j                  ig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y Nr[   r  )
r   r  rm   ru   rv   r   rx   r  rn   r  rz   s      r   r|   z(TestCancelMessage.test_parse_and_marshal.  s   ++VR8nn""4(c7>>2f-4(-++Vgw~~?R?R5STnn""4(c7>>2f-7>>#6#67-r   Nr}   r   r   r   r	  r	    s    A.r   r	  c                       e Zd Zd Zd Zy)TestResultMessagec                    t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        t        j                  dg dddd	
      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   g d       | j                  |d   ddd	       t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddi       y Nr[   r_   r   r   r^   ra   r   rb   rc   rf   r]   r`   T)progressr  )r   Resultrn   r   ro   rm   rp   s      r   rs   zTestResultMessage.test_ctor@  s   NN6"iikS1%Q!<!<=Q(Q$NN6	2x:XYiikS1%Q!<!<=Q(Q$Q+Q"h!?@NN6D1iikS1%Q!<!<=Q(Q+t!45r   c                    t         j                  j                  di g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  di g ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y Nr[   ra   r   rb   rc   r  T)r   r  rm   ru   rv   r   rx   rg   rh   r  rn   rz   s      r   r|   z(TestResultMessage.test_parse_and_marshalX  s   ++VR8nn""4(c7>>2f-4(T*t,-++VRRYaDbcnn""4(c7>>2f-9-b(%CDt,-++Vk45HInn""4(c7>>2f-4(T*t,-r   Nr}   r   r   r   r  r  >      60.r   r  c                       e Zd Zd Zd Zy)TestInvocationMessagec                    t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   i        t        j                  ddg dd	d
d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   i        | j                  |d   g d       | j                  |d   d	d
d       t        j                  ddd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   d       | j                  |d   ddi       y )Nr[   r   r`   r   r   r^   r_   ra   r   rb   rc   rf   rj   r]   r  r  r  )r   
Invocationrn   r   ro   rm   rp   s      r   rs   zTestInvocationMessage.test_ctorw  s   vv.iikS1%Q!3!3!@!@AQ(Q(Q$vvIr[cFdeiikS1%Q!3!3!@!@AQ(Q(Q$Q+Q"h!?@vvu=iikS1%Q!3!3!@!@AQ(Q(Q*e!45r   c                 V   t         j                  j                  ddi g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddi g ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y )	Nr[   r   ra   r   rb   rc   r  r  )r   r  rm   ru   rv   r   rx   r   rg   rh   r  rn   rz   s      r   r|   z,TestInvocationMessage.test_parse_and_marshal  s]   ""//D  &&t,c7#5#56f-))624(T*d+-""//YY[emPno  &&t,c7#5#56f-))629-b(%CDd+-""//*eATU  &&t,c7#5#56f-))624(T*e,-r   Nr}   r   r   r   r  r  u  s    66.r   r  c                       e Zd Zd Zd Zy)TestInterruptMessagec                    t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        t        j                  dt         j                  j                        }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   dt         j                  j                  i       y r  )r   	Interruptrn   r   ro   rm   r  rp   s      r   rs   zTestInterruptMessage.test_ctor  s   f%iikS1%Q!2!2!?!?@Q(Q$f7+<+<+A+ABiikS1%Q!2!2!?!?@Q(Q'7+<+<+A+A!BCr   c                 8   t         j                  j                  di g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddt         j                  j                  ig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  t         j                  j                         | j                  |j                         |       y r  )
r   r"  rm   ru   rv   r   rx   r  rn   r  rz   s      r   r|   z+TestInterruptMessage.test_parse_and_marshal  s#   !!..;%%d+c7#4#45f-4(-!!..'BSBSBXBX8YZ%%d+c7#4#45f-7#4#4#9#9:-r   Nr}   r   r   r   r   r     s    D.r   r   c                       e Zd Zd Zd Zy)TestYieldMessagec                    t        j                  d      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        t        j                  dg dddd	
      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   i        | j                  |d   g d       | j                  |d   ddd	       t        j                  dd      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d       | j                  |d   ddi       y r  )r   Yieldrn   r   ro   rm   rp   s      r   rs   zTestYieldMessage.test_ctor  s   MM&!iikS1%Q!;!;<Q(Q$MM&y"h9WXiikS1%Q!;!;<Q(Q$Q+Q"h!?@MM&40iikS1%Q!;!;<Q(Q+t!45r   c                    t         j                  j                  di g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         |       t         j                  j                  di g ddddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  g d       | j                  |j                  ddd       | j                  |j                  d        | j                  |j                         |       t         j                  j                  dddig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  d        | j                  |j                  d        | j                  |j                  d       | j                  |j                         |       y r  )r   r'  rm   ru   rv   r   rx   rg   rh   r  rn   rz   s      r   r|   z'TestYieldMessage.test_parse_and_marshal  s   **FB7mm!!$'c7==1f-4(T*t,-**FB	BX`Cabmm!!$'c7==1f-9-b(%CDt,-**F[$4GHmm!!$'c7==1f-4(T*t,-r   Nr}   r   r   r   r%  r%    r  r   r%  c                       e Zd Zd Zd Zd Zy)TestHelloMessagec                 B   t        j                  ddt        j                         i      }|j	                         }| j                  t        |      d       | j                  |d   t         j                  j                         | j                  |d   d       | j                  |d   ddi ii       t        j                  ddt        j                  d	      i      }|j	                         }| j                  t        |      d       | j                  |d   t         j                  j                         | j                  |d   d       | j                  |d   ddd
ddiiii       t        j                  ddt        j                  d	      id      }|j	                         }| j                  t        |      d       | j                  |d   t         j                  j                         | j                  |d   d       | j                  |d   dd
ddiiidd       y )Nrealm1r   r_   r   r   r^   rolesTsubscriber_blackwhite_listingfeaturesr/  )	resumabler-  r1  )r   Hellor   RolePublisherFeaturesrn   r   ro   rm   rp   s      r   rs   zTestHelloMessage.test_ctor  s   MM)lD4N4N4P%QRiikS1%Q!;!;<Q+Q(\2,>!?@MM)lD4N4Nmq4r%stiikS1%Q!;!;<Q+Q(\KJjlpIq;r,s!tuMM)lD4N4Nmq4r%s  @D  EiikS1%Q!;!;<Q+Q\KJjlpIq;r,s  DH  "I  	Jr   c                    t         j                  j                  dddi iig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  dt        j                         i       | j                  |j                  d        | j                  |j                         |       t         j                  j                  ddddddiiiig}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  dt        j                  d      i       | j                  |j                         |       t         j                  j                  ddi idd	g}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  dt        j                         i       | j                  |j                  d       | j                  |j                         |       t         j                  j                  ddi idd
ddg}t         j                  j                  |      }| j	                  |t         j                         | j                  |j                  d       | j                  |j                  dt        j                         i       | j                  |j                  d       | j                  |j                  d
       | j                  |j                  d       | j                  |j                         |       y )Nr,  r-  r   r0  r/  Tr.  Fr2  i  dsjgsg)r-  r1  zresume-sessionzresume-token)r   r3  rm   ru   rv   r   realmr-  r   r4  r1  rn   resume_sessionresume_tokenrz   s      r   r|   z'TestHelloMessage.test_parse_and_marshal"  s   **I<QSBT7UVmm!!$'c7==1I.\43M3M3O$PQ--**I<R]  aA  CG  `H  RI  CJ  8K  Lmm!!$'c7==1I.\43M3Mlp3q$rs-**I<QSBTdi7jkmm!!$'c7==1I.\43M3M3O$PQ.-**I<QSBTdh  ~B  U^  8_  `mm!!$'c7==1I.\43M3M3O$PQ-++T2))95-r   c                     t        j                  ddt        j                         i      }| j	                  t        |      t
               y )Nr,  r   )r   r3  r   r4  rv   r   r   rq   s     r   test_strzTestHelloMessage.test_strD  s4    MM)lD4N4N4P%QRc!fc*r   Nr
   r   r   rs   r|   r<  r   r   r   r*  r*  
  s    J, .D+r   r*  c                       e Zd Zd Zd Zd Zy)TestGoodbyeMessagec                    d}d}t        j                         }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   i        | j                  |d   t         j                  j                         t        j                  |      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   i        | j                  |d   |       t        j                  ||      }|j                         }| j                  t	        |      d       | j                  |d   t         j                  j
                         | j                  |d   d	|i       | j                  |d   |       y )
Nwamp.error.system_shutdownThe host is shutting down now.r_   r   r   r^   )r   r   r   r   )r   Goodbyern   r   ro   rm   DEFAULT_REASON)r   r   
reason_msgrq   rr   s        r   rs   zTestGoodbyeMessage.test_ctorK  st   .6
OOiikS1%Q!=!=>Q$Q!?!?@OO6*iikS1%Q!=!=>Q$Q(OO6:>iikS1%Q!=!=>Q*j!9:Q(r   c                    d}d}t         j                  j                  g}| j                  t        t         j                  j
                  |       t         j                  j                  |g}| j                  t        t         j                  j
                  |       t         j                  j                  ddi|g}| j                  t        t         j                  j
                  |       t         j                  j                  i |g}t         j                  j                  |      }| j                  |t         j                         | j                  |j                  |       | j                  |j                   d        | j                  |j                         |       t         j                  j                  d|i|g}t         j                  j                  |      }| j                  |t         j                         | j                  |j                  |       | j                  |j                   |       | j                  |j                         |       y )NrA  rB  r   r   )
r   rD  rm   r    r   ru   rv   r   r   rn   )r   r   rF  r{   rr   s        r   r|   z)TestGoodbyeMessage.test_parse_and_marshald  s   .6
,,--)>)>E,,f5-)>)>E,,z3.?H-)>)>E,,b&9oo##D)c7??3V,d+-,,z:.FOoo##D)c7??3V,j1-r   c                 p    t        j                  dd      }| j                  t        |      t               y )NrA  rB  rC  )r   rD  rv   r   r;  s     r   r<  zTestGoodbyeMessage.test_str  s(    OO#@Jklc!fc*r   Nr=  r   r   r   r?  r?  I  s    )2.6+r   r?  )"
__future__r   autobahn.wampr   r   autobahn.wamp.exceptionr   r   unittestobjectr	   TestCaser   r#   rY   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r   r%  r*  r?  r   r   r   <module>rO     s  6 '  ! B 	& 	Mh MBxx   BxJ*.x(( *.ZB.8,, B.J.H-- .&.X.. .&..h// ..ba.** a.H.8,, .&Q.x(( Q.h:.(++ :.z.H-- .&.H-- .&..h// ..b:.h'' :.z.)) .B4.)) 4.n:.H-- :.z.8,, .B4.x(( 4.n<+x(( <+~8+** 8+r   