U
    e»{jl"  ã                   @   sj   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ ddl	m
Z
mZmZmZ dd	„ ZG d
d„ dƒZdS )é    N)Úconf)ÚSAMPProxyError)ÚSAMPHubServer)ÚSAMPIntegratedClienté   )Ú
TEST_REPLYÚReceiverÚassert_outputÚrandom_paramsc                 C   s
   dt _d S )NF)r   Zuse_internet)Úmodule© r   úg/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/samp/tests/test_standard_profile.pyÚsetup_module   s    r   c                   @   sT   e Zd Zedd„ ƒZedd„ ƒZedd„ ƒZejdd�d	d
„ ƒZ	dd„ Z
dd„ ZdS )ÚTestStandardProfilec                 C   s   i S ©Nr   ©Úselfr   r   r   Úhub_init_kwargs   s    z#TestStandardProfile.hub_init_kwargsc                 C   s   i S r   r   r   r   r   r   Úclient_init_kwargs   s    z&TestStandardProfile.client_init_kwargsc                 C   s   i S r   r   r   r   r   r   Úclient_connect_kwargs   s    z)TestStandardProfile.client_connect_kwargsT)Zautousec                 C   s†   t |ƒ| _tf ddddœ| j—Ž| _| j ¡  tf | jŽ| _| jj	f | jddœ| j
—Ž tf | jŽ| _| jj	f | jddœ| j
—Ž d S )NFZmultipler   )Zweb_profileÚmodeÚ	pool_size)Úhubr   )ÚstrÚtmpdirr   r   r   Ústartr   r   Úclient1Úconnectr   Úclient2)r   Ztmp_pathr   r   r   Úsetup_method   s    
  ÿÿ
z TestStandardProfile.setup_methodc                 C   s2   | j jr| j  ¡  | jjr$| j ¡  | j ¡  d S r   )r   Úis_connectedZ
disconnectr   r   Ústopr   r   r   r   Úteardown_method,   s
    

z#TestStandardProfile.teardown_methodc              	   C   sn  | j  ¡ | _| j ¡ | _ddddœ| _ddddœ| _| j js@t‚| jjsLt‚| j  	¡  | j 	¡  | j| j  
¡ kstt‚| j| j  
¡ ksˆt‚| j| j 
¡ ksœt‚| j| j 
¡ ks°t‚| j  | j¡i ksÆt‚| j  | j¡i ksÜt‚| j | j¡i ksòt‚| j | j¡i k�s
t‚| j  | j¡ | j  | j¡| jk�s2t‚| j | j¡| jk�sLt‚| j  | j¡i k�sdt‚| j | j¡i k�s|t‚| j | j¡ | j  | j¡| jk�s¤t‚| j | j¡| jk�s¾t‚| j  | j¡| jk�sØt‚| j | j¡| jk�sòt‚i }d|d	< i |d
< t t¡� | j  | j|¡ W 5 Q R X | j  d¡i k�sBt‚| j d¡i k�sXt‚t| j ƒ}t| jƒ}| j d|j¡ | j d|j¡ | j  d|j¡ | j  d¡| ji ik�s¸t‚| j d¡i k�sÎt‚d| j  | j¡k�sæt‚d| j | j¡k�sþt‚t| jƒ}| j  | j ¡ d|dœ¡ td| j ¡ | j|dd� t| jƒ}| j j| j ¡ df|Ž td| j ¡ | j|dd� t| jƒ}| j  d|dœ¡ td| j ¡ | j|dd� t| jƒ}| j j d|Ž td| j ¡ | j|dd� t| jƒ}| j  !| j ¡ dd|dœ¡ td| j ¡ | j|dd� t| jƒ}| j j"| j ¡ ddf|Ž td| j ¡ | j|dd� t| jƒ}| j  #dd|dœ¡ td| j ¡ | j|dd� t| jƒ}| j j$d|Ž td| j ¡ | j|dd� t| jƒ}| j j%| j ¡ d|dœdd�}|t&k�sþt‚td| j ¡ | j|dd� t| jƒ}| j j'| j ¡ dfddi|—Ž}|t&k�sPt‚td| j ¡ | j|dd� d S )NzClient 1zClient 1 Descriptionz1.1)z	samp.namezsamp.description.textzclient.versionzClient 2zClient 2 Descriptionz1.2útable.load.votableú
samp.mtypeúsamp.paramsztest-tag)r$   r%   é<   )ÚtimeoutZtag1Útag2é   r'   )r#   )r(   r#   )(r   Zget_public_idZ
client1_idr   Z
client2_idZ	metadata1Z	metadata2r    ÚAssertionErrorZpingZget_registered_clientsÚget_metadataZdeclare_metadataÚpytestZraisesr   ÚnotifyZget_subscribed_clientsr   Zbind_receive_notificationZreceive_notificationZbind_receive_callZreceive_callZbind_receive_responseZreceive_responseZget_subscriptionsr
   r   r	   Zget_private_keyZenotifyÚ
notify_allZenotify_allÚcallZecallZcall_allZ	ecall_allZcall_and_waitr   Zecall_and_wait)r   ÚmessageZrec1Zrec2ÚparamsÚresultr   r   r   Ú	test_main4   sh   ýý



 ÿ
 ÿ
þû
 ÿÿû

ÿû
û

ýû
  ÿÿû

 ÿû
û

ýû
 ÿÿÿûzTestStandardProfile.test_mainN)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   r,   Zfixturer   r"   r3   r   r   r   r   r      s   




r   )r,   Zastropy.sampr   Zastropy.samp.errorsr   Zastropy.samp.hubr   Zastropy.samp.integrated_clientr   Ztest_helpersr   r   r	   r
   r   r   r   r   r   r   Ú<module>   s   