
    Lf                        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 d/ d0ej                        Z G d1 d2ej                        Zy)3    )role)message)ProtocolErrorInvalidUriErrorNc                       e Zd Zy)FooN)__name__
__module____qualname__     _/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/autobahn/wamp/test/test_wamp_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,   sM    )4fb%ceUZ\`bdfhi 	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_nonempty3   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.   r/   s     r    test_invalid_uris_loose_nonemptyz)TestUris.test_invalid_uris_loose_nonempty@   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.r5   r4   r   Com-star.MyApp.**+$for..foo   Îºá½¹ÏÎ¼Îµ..foohello$world..foo   helloÂ¢world..foo   helloâ¬world..foo   helloð¤­¢world..fooTallow_empty_componentsr-   r/   s     r   test_valid_uris_loose_emptyz$TestUris.test_valid_uris_loose_emptyT   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   TFr3   r   r7   r8   r9   r:   r;   rG   r<   r/   s     r   test_invalid_uris_loose_emptyz&TestUris.test_invalid_uris_loose_emptyd   s[    %&''&! 	kA ow/I/I1eij	kr   c                 `    dD ])  }| j                  |t        j                  |d             + y )N)r$   r%   r&   Tstrictr-   r/   s     r   test_valid_uris_strict_nonemptyz(TestUris.test_valid_uris_strict_nonemptyt   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   TFr3   r   r   r4   r5   r6   r7   r8   r9   r:   r;   r'   r(   r)   r*   r+   r,   rM   r<   r/   s     r   !test_invalid_uris_strict_nonemptyz*TestUris.test_invalid_uris_strict_nonempty{   sy    % &''&!*@"&*.+ 	[A. ow/I/I1UYZ/	[r   c           	      b    dD ]*  }| j                  |t        j                  |dd             , y )N)r$   r?   r@   r5   r4   r   TrN   rH   r-   r/   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   TFr3   r   r7   r8   r9   r:   r;   rA   rB   rC   rD   rE   rF   rS   r<   r/   s     r   test_invalid_uris_strict_emptyz'TestUris.test_invalid_uris_strict_empty   sp    %&''&!/E'+/3# 	xA& ow/I/I1UYrvw'	xr   N)r	   r
   r   r1   r=   rI   rK   rO   rQ   rT   rV   r   r   r   r"   r"   1   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=OPiikS1%Q!;!;<Q!:!:;Q(Q$Q!34MM',,33V=OV_pr  |C  iD  EiikS1%Q!;!;<Q!:!:;Q(Q$Q!34Q+QG!<=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 )NrZ   r[   r`   r   ra   rb   )r   rj   rl   rk   parseassertIsInstancer   request_typerequesterrorrf   rg   rm   r   wmsgrq   s      r   test_parse_and_marshalz'TestErrorMessage.test_parse_and_marshal   s   **GLL,E,EvrSefmm!!$'c7==1))7<<+D+DEf-$674(T*-**GLL,E,EvrSegpz|  FM  sN  Omm!!$'c7==1))7<<+D+DEf-$679-R%@A-r   Nr	   r
   r   rr   r{   r   r   r   rX   rX      s    >*.r   rX   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 )NrZ   r$   r_   r   r   r]   r^   matchr   prefix)r   	Subscriberm   r   rn   rl   MATCH_PREFIXro   s      r   rr   zTestSubscribeMessage.test_ctor   s3   f&89iikS1%Q!2!2!?!?@Q(Q$Q!34f&8@Q@Q@^@^_iikS1%Q!2!2!?!?@Q(Q'8!45Q!34r   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 )NrZ   r$   r   r   )r   r   rl   rt   ru   r   rw   topicr   MATCH_EXACTrm   r   ry   s      r   r{   z+TestSubscribeMessage.test_parse_and_marshal   sS   !!..<NO%%d+c7#4#45f-$67G$5$5$A$AB-!!..(8KM_`%%d+c7#4#45f-$67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 )NrZ   r   r   r$   Tr   r   rl   rt   ru   r   rw   r   get_retainedassertNotEqualr   r   rm   ry   s      r   test_get_retained_default_falsez4TestSubscribeMessage.test_get_retained_default_false  s    !!..(8KM_`%%d+c7#4#45f-$67))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 )NrZ   r   Fr   r   r$   Tr   ry   s      r    test_get_retained_explicit_falsez5TestSubscribeMessage.test_get_retained_explicit_false  s    !!..(\a8bdvw%%d+c7#4#45f-$67))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 )NrZ   r   Tr   r$   )r   r   rl   rt   ru   r   rw   r   r   r   r   rm   ry   s      r   test_get_retained_explicit_truez4TestSubscribeMessage.test_get_retained_explicit_true  s    !!..(\`8acuv%%d+c7#4#45f-$67))40G$5$5$B$BC-r   N)r	   r
   r   rr   r{   r   r   r   r   r   r   r~   r~      s    5"."	.	..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 NrZ   
 r^   r   r   r]   )r   
Subscribedrm   r   rn   rl   ro   s      r   rr   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 NrZ   r   )	r   r   rl   rt   ru   r   rw   subscriptionrm   ry   s      r   r{   z,TestSubscribedMessage.test_parse_and_marshal2      ""//@  &&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   Unsubscriberm   r   rn   rl   ro   s      r   rr   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   rl   rt   ru   r   rw   r   rm   ry   s      r   r{   z-TestUnsubscribeMessage.test_parse_and_marshalE  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 )
NrZ   r]   r   r   )r   r^   r   wamp.subscription.revokedr   reason)r   Unsubscribedrm   r   rn   rl   ro   s      r   rr   z!TestUnsubscribedMessage.test_ctorP  e     (iikS1%Q!5!5!B!BCQ(  8iikS1%Q!5!5!B!BCQ#Q.&!9:  @[\iikS1%Q!5!5!B!BCQ#Q&D_!`ar   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 )NrZ   r   r   r   r   )
r   r   rl   rt   ru   r   rw   r   r   rm   ry   s      r   r{   z.TestUnsubscribedMessage.test_parse_and_marshale     $$116:""((.c7#7#78f-))40T*-$$111~v6NO""((.c7#7#78a())62T*-$$111vYt6uv""((.c7#7#78a())62%@A-r   Nr|   r   r   r   r   r   N      b*.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 )NrZ   r$   r_   r   r   r]   r^   r`   r   ra   rb   re   ri   r\   F,  d      r   
exclude_meexcludeeligible)r   Publishrm   r   rn   rl   ro   s      r   rr   zTestPublishMessage.test_ctor  s   OOF$67iikS1%Q!=!=>Q(Q$Q!34OOF$6YWYbiOjkiikS1%Q!=!=>Q(Q$Q!34Q+QG!<=OOF$65SVRWbqriikS1%Q!=!=>Q(Q3%Ud!efQ!34r   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 )NrZ   r$   r`   r   ra   rb   Fr   r   r   )r   r   rl   rt   ru   r   rw   r   rf   rg   r   r   r   rm   ry   s      r   r{   z)TestPublishMessage.test_parse_and_marshal  s   ,,fb:LMoo##D)c7??3f-$674(T*.d+t,-,,fb:LiaclsYtuoo##D)c7??3f-$679-R%@A.d+t,-,,fUX[W\jy6z  }O  Poo##D)c7??3f-$67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.
        rZ   Fr   r   r   r$   NT	r   r   rl   rt   ru   r   retainassertIsNotrm   ry   s      r   test_retain_default_falsez,TestPublishMessage.test_retain_default_false  s     ,,fUX[W\jy6z  }O  P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.
        rZ   Fr   r   r   r   r   r   r$   TNr   ry   s      r   test_retain_explicit_falsez-TestPublishMessage.test_retain_explicit_false  s     ,,fUV[ilhm  |K  7L  N`  a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.
        rZ   FTr   r   r   r$   N)	r   r   rl   rt   ru   r   r   assertIsrm   ry   s      r   test_retain_explicit_truez,TestPublishMessage.test_retain_explicit_true  s     ,,fUVZhkgl  {J  7K  M_  `oo##D)c7??3T*cjj$'-r   N)r	   r
   r   rr   r{   r   r   r   r   r   r   r   r     s    56#.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   	Publishedrm   r   rn   rl   ro   s      r   rr   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   rl   rt   ru   r   rw   publicationrm   ry   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 )NrZ   r   r_   r   r   r]   r^   r`   r   ra   rb   re   ri   r\   r   )	publisherr   )r   Eventrm   r   rn   rl   ro   s      r   rr   zTestEventMessage.test_ctor  s   MM&&)iikS1%Q!;!;<Q(Q(Q$MM&&yT[A\]iikS1%Q!;!;<Q(Q(Q$Q+QG!<=MM&&C8iikS1%Q!;!;<Q(Q(Q+s!34r   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 )	NrZ   r   r`   r   ra   rb   r   r   )r   r   rl   rt   ru   r   r   r   rf   rg   r   rm   ry   s      r   r{   z'TestEventMessage.test_parse_and_marshal  sK   **FFB?mm!!$'c7==1))62&14(T*--**FFB	SU^eKfgmm!!$'c7==1))62&19-R%@A--**FF[#<NO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 )NrZ   r   T	r   r   rl   rt   ru   r   retainedr   rm   ry   s      r   test_retained_default_falsez,TestEventMessage.test_retained_default_false2  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 )NrZ   r   r   FTr   ry   s      r   test_retained_explicit_falsez-TestEventMessage.test_retained_explicit_false:  s    **FFZ<OP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 )NrZ   r   r   T)r   r   rl   rt   ru   r   r   rm   ry   s      r   test_retained_explicit_truez,TestEventMessage.test_retained_explicit_trueB  sq    **FFZ<NOmm!!$'c7==1t,-r   N)r	   r
   r   rr   r{   r   r   r   r   r   r   r   r     s    56.>...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 )NrZ   com.myapp.procedure1r_   r   r   r]   r^   wildcardr   r   )r   Registerrm   r   rn   rl   ro   s      r   rr   zTestRegisterMessage.test_ctorL  s'   V%;<iikS1%Q!1!1!>!>?Q(Q$Q!78V%;:NiikS1%Q!1!1!>!>?Q(Q':!67Q!78r   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 )NrZ   r   T)force_reregisterr_   r   r   r]   r   r^   )r   r   rm   r   rn   rl   rt   str)r   rp   rq   e2s       r   test_ctor_reregisterz(TestRegisterMessage.test_ctor_reregister]  s    V%;dSiikS1%Q!1!1!>!>?Q(Q"4d!;<Q!78##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)NrZ   r   truthyr   zinvalid type)	r   r   rl   r   r   rt   assertInr   	exception)r   rq   ctxs      r   #test_parse_reregister_illegal_forcez7TestRegisterMessage.test_parse_reregister_illegal_forcei  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 )NrZ   r   exactr   r   )
r   r   rl   rt   ru   r   rw   	procedurer   rm   ry   s      r   r{   z*TestRegisterMessage.test_parse_and_marshalu  s;     --vr;QR$$T*c7#3#34f-(>?G,-  --v7LNde$$T*c7#3#34f-(>?J/-r   N)r	   r
   r   rr   r   r   r{   r   r   r   r   r   J  s    9"

:.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   
Registeredrm   r   rn   rl   ro   s      r   rr   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   rl   rt   ru   r   rw   registrationrm   ry   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   
Unregisterrm   r   rn   rl   ro   s      r   rr   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   rl   rt   ru   r   rw   r   rm   ry   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 )
NrZ   r]   r   r   )r   r^   r   wamp.registration.revokedr   r   )r   Unregisteredrm   r   rn   rl   ro   s      r   rr   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 )NrZ   r   r   r   r   )
r   r   rl   rt   ru   r   rw   r   r   rm   ry   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 )NrZ   r   r_   r   r   r]   r^   r`   r   ra   rb   re   ri   r\   '  timeoutr  )r   rk   rm   r   rn   rl   ro   s      r   rr   zTestCallMessage.test_ctor  s   LL!78iikS1%Q!:!:;Q(Q$Q!78LL!7iXZcjPkliikS1%Q!:!:;Q(Q$Q!78Q+QG!<=LL!7GiikS1%Q!:!:;Q(Q)U!34Q!78r   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 )	NrZ   r   r`   r   ra   rb   r  r  )r   rk   rl   rt   ru   r   rw   r   rf   rg   r  rm   ry   s      r   r{   z&TestCallMessage.test_parse_and_marshal  sK   ))627MNll  &c7<<0f-(>?4(T*d+-))627MybdmtZuvll  &c7<<0f-(>?9-R%@Ad+-))6Iu3EG]^ll  &c7<<0f-(>?4(T*e,-r   Nr|   r   r   r   r  r    s    96.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 NrZ   r^   r   r   r]   )moder  )r   Cancelrm   r   rn   rl   KILLro   s      r   rr   zTestCancelMessage.test_ctor  s   NN6"iikS1%Q!<!<=Q(Q$NN6(;(;<iikS1%Q!<!<=Q(Q&'..*=*=!>?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 NrZ   r  )
r   r  rl   rt   ru   r   rw   r  rm   r  ry   s      r   r{   z(TestCancelMessage.test_parse_and_marshal,  s   ++VR8nn""4(c7>>2f-4(-++Vfgnn>Q>Q5RSnn""4(c7>>2f-7>>#6#67-r   Nr|   r   r   r   r  r    s    @.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 NrZ   r^   r   r   r]   r`   r   ra   rb   re   r\   r_   T)progressr  )r   Resultrm   r   rn   rl   ro   s      r   rr   zTestResultMessage.test_ctor>  s   NN6"iikS1%Q!<!<=Q(Q$NN6	"W:UViikS1%Q!<!<=Q(Q$Q+QG!<=NN6D1iikS1%Q!<!<=Q(Q*d!34r   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 NrZ   r`   r   ra   rb   r  T)r   r  rl   rt   ru   r   rw   rf   rg   r  rm   ry   s      r   r{   z(TestResultMessage.test_parse_and_marshalV  s   ++VR8nn""4(c7>>2f-4(T*t,-++VRBW^D_`nn""4(c7>>2f-9-R%@At,-++Vj$5GHnn""4(c7>>2f-4(T*t,-r   Nr|   r   r   r   r  r  <      50.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 )NrZ   r   r_   r   r   r]   r^   r`   r   ra   rb   re   ri   r\   r  r  r  )r   
Invocationrm   r   rn   rl   ro   s      r   rr   zTestInvocationMessage.test_ctoru  s   vv.iikS1%Q!3!3!@!@AQ(Q(Q$vvIbY`FabiikS1%Q!3!3!@!@AQ(Q(Q$Q+QG!<=vvu=iikS1%Q!3!3!@!@AQ(Q(Q)U!34r   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 )	NrZ   r   r`   r   ra   rb   r  r  )r   r  rl   rt   ru   r   rw   r   rf   rg   r  rm   ry   s      r   r{   z,TestInvocationMessage.test_parse_and_marshal  s]   ""//D  &&t,c7#5#56f-))624(T*d+-""//YXZcjPkl  &&t,c7#5#56f-))629-R%@Ad+-""//)UAST  &&t,c7#5#56f-))624(T*e,-r   Nr|   r   r   r   r  r  s  s    56.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   	Interruptrm   r   rn   rl   r  ro   s      r   rr   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&'*;*;*@*@!ABr   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!  rl   rt   ru   r   rw   r  rm   r  ry   s      r   r{   z+TestInterruptMessage.test_parse_and_marshal  s#   !!..;%%d+c7#4#45f-4(-!!..ARARAWAW8XY%%d+c7#4#45f-7#4#4#9#9:-r   Nr|   r   r   r   r  r    s    C.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   Yieldrm   r   rn   rl   ro   s      r   rr   zTestYieldMessage.test_ctor  s   MM&!iikS1%Q!;!;<Q(Q$MM&yG9TUiikS1%Q!;!;<Q(Q$Q+QG!<=MM&40iikS1%Q!;!;<Q(Q*d!34r   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&  rl   rt   ru   r   rw   rf   rg   r  rm   ry   s      r   r{   z'TestYieldMessage.test_parse_and_marshal  s   **FB7mm!!$'c7==1f-4(T*t,-**FB	2V]C^_mm!!$'c7==1f-9-R%@At,-**FZ4FG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,  r0  )r   Hellor   RolePublisherFeaturesrm   r   rn   rl   ro   s      r   rr   zTestHelloMessage.test_ctor
  s   MM([$2L2L2N$OPiikS1%Q!;!;<Q*Q'K+<!=>MM([$2L2Lko2p$qriikS1%Q!;!;<Q*Q'K*GfhlFm9n+o!pqMM([$2L2Lko2p$q  ~B  CiikS1%Q!;!;<Q*QK*GfhlFm9n+o  C  "D  	E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   r/  r.  Tr-  Fr1  i  dsjgsg)r,  r0  zresume-sessionzresume-token)r   r2  rl   rt   ru   r   realmr,  r   r3  r0  rm   resume_sessionresume_tokenry   s      r   r{   z'TestHelloMessage.test_parse_and_marshal   s   **Hwb@Q6RSmm!!$'c7==1H-[$2L2L2N$OP--**Hwz\{  ~B  \C  OD  AE  7F  Gmm!!$'c7==1H-[$2L2Lko2p$qr-**Hb@Q`e6fgmm!!$'c7==1H-[$2L2L2N$OP.-**Hb@Q`dx|  OW  7X  Ymm!!$'c7==1H-[$2L2L2N$OP-++T2))84-r   c                     t        j                  ddt        j                         i      }| j	                  t        |      t
               y )Nr+  r   )r   r2  r   r3  ru   r   r   rp   s     r   test_strzTestHelloMessage.test_strB  s4    MM([$2L2L2N$OPc!fc*r   Nr	   r
   r   rr   r{   r;  r   r   r   r)  r)    s    E, .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   Goodbyerm   r   rn   rl   DEFAULT_REASON)r   r   
reason_msgrp   rq   s        r   rr   zTestGoodbyeMessage.test_ctorI  st   -5
OOiikS1%Q!=!=>Q$Q!?!?@OO6*iikS1%Q!=!=>Q$Q(OO6:>iikS1%Q!=!=>Q)Z!8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 )Nr@  rA  r   r   )
r   rC  rl   r   r   rt   ru   r   r   rm   )r   r   rE  rz   rq   s        r   r{   z)TestGoodbyeMessage.test_parse_and_marshalb  s   -5
,,--)>)>E,,f5-)>)>E,,y#.>G-)>)>E,,b&9oo##D)c7??3V,d+-,,y*.EvNoo##D)c7??3V,j1-r   c                 p    t        j                  dd      }| j                  t        |      t               y )Nr@  rA  rB  )r   rC  ru   r   r:  s     r   r;  zTestGoodbyeMessage.test_str}  s(    OO#?Iijc!fc*r   Nr<  r   r   r   r>  r>  G  s    )2.6+r   r>  ) autobahn.wampr   r   autobahn.wamp.exceptionr   r   unittestobjectr   TestCaser   r"   rX   r~   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r$  r)  r>  r   r   r   <module>rM     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   