
    @d>&                         d dl mZmZ d dlmZ d dl d dlmZ  G d d      Z G d d      Z	d	 Z
d
 Zd Zd Zd Zedk(  r e        yy)    )uuid4UUID)Union)*)sessionc                   p    e Zd Z	 	 	 ddedededeeef   def
dZed        Z	ed	        Z
ed
        Zd Zy)RPCResponseNcallidjsonrpcmetaresulterrorc                 \    t        |      | _        || _        || _        || _        || _        y N)r   r
   r   r   r   r   )selfr
   r   r   r   r   s         ./cmf/test.py__init__zRPCResponse.__init__   s+     6l	
    c                     | j                   d u S r   r   r   s    r   okzRPCResponse.ok   s    zzT!!r   c                      | j                   d   S )Ncoder   r   s    r   
error_codezRPCResponse.error_code   s    zz&!!r   c                      | j                   d   S )Nmessager   r   s    r   error_messagezRPCResponse.error_message   s    zz)$$r   c                 R    t        |        d| j                   d| j                   dS )N(z, z) )typer   r
   r   s    r   __str__zRPCResponse.__str__"   s'    t*Qtwwir$++b99r   )NNN)__name__
__module____qualname__strdictr   listr   propertyr   r   r   r"    r   r   r	   r	      s    
 $(  	
 dDj!  " " " " % %:r   r	   c                   &    e Zd Zd Zd Zd ZddZy)RPCc                 v    t               | _        d| _        d| _        d| _        d| _        d| _        d| _        y )Nzhttp://127.0.0.1:8080/api/ztest@test.test@0b9b9cab4b8df6d271d797b5632d18534820d6381567d9235dd93838385cd81e 7e86075f22e775b3580f3e8def9915c3z+79998887766)r   surlloginpasswordhashsaltphoner   s    r   r   zRPC.__init__'   s5    /%
(V	6	#
r   c                     | j                   j                  d| j                  | j                  | j                  | j
                  d      }|j                  rt        d       y t        d       y )Nz!http://127.0.0.1:8080/auth/signup)r2   r4   r5   r6   datau%   Регистрация успешнаul   Регистрация не успешна (скорее всего уже зарегестрированы))r0   postr2   r4   r5   r6   r   print)r   rs     r   signupz
RPC.signup0   s^    FFKK/					  
 449:  A  Br   c                 p   | j                   j                  dd| j                  d      j                  }t        j
                  j                  | j                  | j                  |      }| j                   j                  d| j                  |d      }|j                  rt        d       y t        d       y )	Nz!http://127.0.0.1:8080/auth/signinget_server_challenge)actionr2   params)r2   challenge_respr8   u   Вход успешенu   Вход не успешен)r0   getr2   textmodelsCmfAuthtest_gen_server_challenge_respr3   r:   r   r;   )r   server_challengerC   r<   s       r   signinz
RPC.signin?   s      66::/4tzzJ & 
 $ 	  FFJJ'7
 FFKK/::H  
 44+,01r   Nc                     t        t                     d|||d}| j                  j                  | j                  |      }|j
                  dk(  sJ t        di |j                         S )Nstub)r
   access_tokenmethodrB   fields)json   r*   )r&   r   r0   r:   r1   status_coder	   rP   )r   rN   rB   rO   payloadr   s         r   callzRPC.callR   sb    %'l"
 TXXG4!!S(((+V[[]++r   )NN)r#   r$   r%   r   r=   rJ   rT   r*   r   r   r,   r,   &   s    $B2&
,r   r,   c                    | j                  dddi      }|j                  sJ d|j                  d   k(  sJ | j                  dd|j                  d   i      }|j                  sJ d|j                  d   k(  sJ |j                  d   |j                  d   k(  sJ | j                  dddi      }|j                  sJ | j                  d	i |j                  d
|j                  d   i      }|j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d
   |j                  d   k(  sJ |j                  d   d   |j                  d   k(  sJ | j                  d	i |j                  d
d i      }|j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d
   J |j                  d   J | j                  d	i |j                  dd|j                  d   ii      }|j                  sJ | j                  dd|j                  d   i      }	|	j                  sJ |	j                  d   d   |j                  d   k(  sJ | j                  d	i |j                  dd i      }
|
j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d
   J |j                  d   J y )NCmfGroup.createname
test grouprA   CmfGroup.getidCmfRole.create	test roleCmfGroup.updatehead_idheadrT   r   r   rpcr1r2r3r4r5r6r7r8r9r10r11s               r   test_relationship_fieldrn   _   s    	#V\,B	CB55L5299V,,,,	.$		$)@	AB55L5299V,,,,99T?biio---	"FK+@	AB55L5	"KRYY"K	299T?"K 
 
B 55L5	.$		$)@	AB55L599Y299T?22299VT"biio555	#,Jryy,J)T,J	KB55L5	.$		$)@	AB55L599Y'''99V$$$	"PRYY"Pryy8O"P 
 
B 55L5	.$		$)@	AB55L599VT"biio555
(($-H		-H64-H(
IC66M6
((>44*A(
BC66M6::i (((::f%%%r   c                    | j                  dddi      }|j                  sJ d|j                  d   k(  sJ | j                  dd|j                  d   i      }|j                  sJ d|j                  d   k(  sJ |j                  d   |j                  d   k(  sJ | j                  dddi      }|j                  sJ | j                  d	i |j                  d
|j                  d   i      }|j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d
   |j                  d   k(  sJ |j                  d   d   |j                  d   k(  sJ | j                  d	i |j                  d
d i      }|j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d
   J |j                  d   J | j                  d	i |j                  dd|j                  d   ii      }|j                  sJ | j                  dd|j                  d   i      }	|	j                  sJ |	j                  d   d   |j                  d   k(  sJ | j                  d	i |j                  dd i      }
|
j                  sJ | j                  dd|j                  d   i      }|j                  sJ |j                  d   J |j                  d   J y )NrV   rW   rX   rA   rY   rZ   r[   r\   r]   tree_parent_idtree_parentr^   r_   r`   ra   s               r   test_generic_relationship_fieldrr      s   	#V\,B	CB55L5299V,,,,	.$		$)@	AB55L5299V,,,,99T?biio---	"FK+@	AB55L5	"RRYY"R0@"))D/"R 
 
B 55L5	.$		$)@	AB55L599%&"))D/99999]#D)RYYt_<<<	#,Qryy,Q:JD,Q	RB55L5	.$		$)@	AB55L599%&...99]#+++	D"))D]T299T?,CD 
 
B 55L5	.$		$)@	AB55L599]#D)RYYt_<<<
(($-O		-O=$-O(
PC66M6
((>44*A(
BC66M6::i (((::f%%%r   c           	      t   | j                  dddi      }|j                  sJ t        |j                  d         dk(  sJ | j                  dddi      }|j                  sJ t        |j                  d         dk(  sJ | j                  dddi      }|j                  sJ | j                  dddi      }|j                  sJ | j                  d	i |j                  dd
|j                  d
   igi      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ |j                  d   d   d
   |j                  d
   k(  sJ | j                  d	i |j                  dd
|j                  d
   igi      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ |j                  d   d   d
   |j                  d
   k(  sJ | j                  d	i |j                  dd
|j                  d
   id
|j                  d
   igi      }	|	j                  sJ | j                  dd
|j                  d
   i      }
|
j                  sJ t        |
j                  d         dk(  sJ |j                  d
   |
j                  d   D cg c]  }|d
   	 c}v sJ |j                  d
   |
j                  d   D cg c]  }|d
   	 c}v sJ | j                  d	i |j                  dg i      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ y c c}w c c}w )Nr[   rW   r\   rA   personsr   CmfPerson.create	test userzCmfRole.updaterZ   zCmfRole.get      rT   r   lenr   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   irm   r12s                 r   test_m2m_fieldr~      s   	"FK+@	AB55L5ryy#$)))	"FK+@	AB55L5ryy#$)))	$fk-B	CB55L5 
$fk-B	CB55L5 
!TBII!TyD"))D/;R:S!T 
 
B 55L5	-ryy(?	@B55L5ryy#$)))99Y"4(BIIdO;;;	!TBII!TyD"))D/;R:S!T 
 
B 55L5	-ryy(?	@B55L5ryy#$)))99Y"4(BIIdO;;;	
ii
ryy/$		$1HI
 
 
B 55L5
((=$		$)@(
AC66M6szz)$%***99T?

90EF1qwFFFF99T?

90EF1qwFFFF
((#,Hryy,H)R,H(
IC66M6
((=$		$)@(
AC66M6szz)$%*** GF   .N0N5c           	      t   | j                  dddi      }|j                  sJ t        |j                  d         dk(  sJ | j                  dddi      }|j                  sJ t        |j                  d         dk(  sJ | j                  dddi      }|j                  sJ | j                  dddi      }|j                  sJ | j                  d	i |j                  dd
|j                  d
   igi      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ |j                  d   d   d
   |j                  d
   k(  sJ | j                  d	i |j                  dd
|j                  d
   igi      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ |j                  d   d   d
   |j                  d
   k(  sJ | j                  d	i |j                  dd
|j                  d
   id
|j                  d
   igi      }	|	j                  sJ | j                  dd
|j                  d
   i      }
|
j                  sJ t        |
j                  d         dk(  sJ |j                  d
   |
j                  d   D cg c]  }|d
   	 c}v sJ |j                  d
   |
j                  d   D cg c]  }|d
   	 c}v sJ | j                  d	i |j                  dg i      }|j                  sJ | j                  dd
|j                  d
   i      }|j                  sJ t        |j                  d         dk(  sJ y c c}w c c}w )NrV   rW   rX   rA   membersr   ru   rv   r]   rZ   rY   rw   rx   ry   r{   s                 r   test_gm2m_fieldr     s   	#V\,B	CB55L5ryy#$)))	#V\,B	CB55L5ryy#$)))	$fk-B	CB55L5 
$fk-B	CB55L5 
B"))BY$		$)@(AB 
 
B 55L5	.$		$)@	AB55L5ryy#$)))99Y"4(BIIdO;;;	B"))BY$		$)@(AB 
 
B 55L5	.$		$)@	AB55L5ryy#$)))99Y"4(BIIdO;;;	
ii
ryy/$		$1HI
 
 
B 55L5
((>44*A(
BC66M6szz)$%***99T?

90EF1qwFFFF99T?

90EF1qwFFFF
(($-I		-I9b-I(
JC66M6
((>44*A(
BC66M6szz)$%*** GFr   c                      t               } | j                          | j                          t        |        t	        |        t        |        t        |        t        d       y )Nr   )r,   r=   rJ   r   r~   rr   rn   r;   )rb   s    r   testr   B  sB    
%CJJLJJLC3#C(C 	$Kr   __main__N)uuidr   r   typingr   cmf.includerequestsr   r	   r,   rn   rr   r~   r   r   r#   r*   r   r   <module>r      sW       : :>6, 6,r0&f1&h:+z<+~ zF r   