U
    [e                     @   s   d dl Z d dlmZmZmZ d dlmZmZ d dlm	Z	m
Z
 ddlmZ e jje ddZe jd	d
 Zdd ZeddddZdd Zdd Zdd Zdd Zdd ZdS )    N)new_method_callMessageTypeDBusAddress)message_bus	MatchRule)open_dbus_connectionProxy   )have_session_buszTests require DBus session bus)reasonc               	   c   s    t dd} | V  W 5 Q R X d S )NSESSION)bus)r   )conn r   `/var/www/html/services/stratfitenv/lib/python3.8/site-packages/jeepney/io/tests/test_blocking.pysession_conn   s    r   c                 C   s   | j dstd S )N:)unique_name
startswithAssertionError)r   r   r   r   test_connect   s    r   zorg.freedesktop.DBusz/org/freedesktop/DBuszorg.freedesktop.DBus.Peer)bus_nameobject_path	interfacec                 C   sd   t td}| j|ddd}|jjtjks,t|jdks:tt td}| j|ddd}|dks`td S )NZPing   F)timeoutunwrapr   T)	r   bus_peersend_and_get_replyheadermessage_typer   method_returnr   body)r   Z	ping_callreplyZ
reply_bodyr   r   r   test_send_and_get_reply   s    

r$   c                 C   sH   t t| dd}d}||}|dks(t|j|dd\}|dksDtd S )Nr   r   z+io.gitlab.takluyver.jeepney.examples.Server>   r	         )_timeoutT)r   r   RequestNamer   ZNameHasOwner)r   proxynameresZ	has_ownerr   r   r   
test_proxy%   s    
r/   c              	   C   s   t t| }d}tdtjtjdtjd}|d| || | |B}|	|\}|dks`t
| j|dd}|j|d	| jfkst
W 5 Q R X d S )
Nz6io.gitlab.takluyver.jeepney.tests.blocking_test_filtersignalZNameOwnerChanged)typeZsenderr   memberpathr   r	   r(   r%    )r   r   r   r   r   r   Zadd_arg_conditionZAddMatchfilterr+   r   Zrecv_until_filteredr"   r   )r   r   r-   Z
match_rulematchesr.   Z
signal_msgr   r   r   test_filter.   s     

r7   c              	   C   sr   t | d}tddd}|j|dd}W 5 Q R X |jjtjksBt|jd 	d}|
 d	ksdtW 5 Q R X d S )
NZGetFDr   Tr   Z
enable_fdsr   r%   r   zw+Zreadme)r   r   r   r   r    r   r!   r   r"   Zto_fileread)Zrespond_with_fdZ
getfd_callr   r#   fr   r   r   test_recv_fdG   s    
r;   c              	   C   sf   | \}}t |dd|f}tddd}|j|dd}W 5 Q R X |jjtjksPt|jd |ksbtd S )	NZReadFDhr   Tr8   r   r%   r   )	r   r   r   r   r    r   r!   r   r"   )Ztemp_file_and_contentsZread_from_fd	temp_filedataZreadfd_callr   r#   r   r   r   test_send_fdQ   s    r?   )ZpytestZjeepneyr   r   r   Zjeepney.bus_messagesr   r   Zjeepney.io.blockingr   r   utilsr
   markZskipifZ
pytestmarkZfixturer   r   r   r$   r/   r7   r;   r?   r   r   r   r   <module>   s*    

	
