
    .Ph
                         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                            e d          Ze j        d	             Zd
 Z eddd          Zd Zd Zd Zd Z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               #   d   K   t          d          5 } | V  d d d            d S # 1 swxY w Y   d S )NSESSION)bus)r   )conns    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jeepney/io/tests/test_blocking.pysession_connr      s      	)	,	,	, 


                 s   %))c                 >    | j                             d          sJ d S )N:)unique_name
startswith)r   s    r   test_connectr      s%    #..s3333333    zorg.freedesktop.DBusz/org/freedesktop/DBuszorg.freedesktop.DBus.Peer)bus_nameobject_path	interfacec                     t          t          d          }|                     |d          }|j        j        t
          j        k    sJ |j        dk    sJ d S )NPing   timeout )r   bus_peersend_and_get_replyheadermessage_typer   method_returnbody)r   	ping_callreplys      r   test_send_and_get_replyr*      s[    &11I++Iq+AAE<$(AAAAA:r   c                     t          t          | d          }d}|                    |          }|dv sJ |                    |d          \  }|du sJ d S )Nr   r   z+io.gitlab.takluyver.jeepney.examples.Server>   r
         )_timeoutT)r	   r   RequestNameNameHasOwner)r   proxynameres	has_owners        r   
test_proxyr7   !   sp    +|Q777E8D


D
!
!C,##D1#55JIr   c                    t          t          |           }d}t          dt          j        t          j        dt          j                  }|                    d|           |                    |           |                     |          5 }|	                    |          \  }|dk    sJ | 
                    |d          }|j        |d	| j        fk    sJ 	 d d d            d S # 1 swxY w Y   d S )
Nz6io.gitlab.takluyver.jeepney.tests.blocking_test_filtersignalNameOwnerChanged)typesenderr   memberpathr   r
   r.   r    )r	   r   r   r   r   r   add_arg_conditionAddMatchfilterr1   recv_until_filteredr'   r   )r   r   r4   
match_rulematchesr5   
signal_msgs          r   test_filterrG   *   sN   
\
*
*CCD#'!$  J   D))) LL			Z	(	( GGt$$axxxx!55gq5II
4\-E"FFFFFFG G G G G G G G G G G G G G G G G Gs   
AC$$C(+C(c                    t          | d          }t          dd          5 }|                    |d          }d d d            n# 1 swxY w Y   |j        j        t
          j        u sJ |j        d                             d          5 }|	                                d	k    sJ 	 d d d            d S # 1 swxY w Y   d S )
NGetFDr   Tr   
enable_fdsr   r   r   zw+readme)
r   r   r#   r$   r%   r   r&   r'   to_fileread)respond_with_fd
getfd_callr   r)   fs        r   test_recv_fdrR   C   s@    '::J	)	=	=	= ?''
A'>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <$(AAAAA	A		t	$	$ $vvxx8#####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s#   AA
A
B44B8;B8c                    | \  }}t          |dd|f          }t          dd          5 }|                    |d          }d d d            n# 1 swxY w Y   |j        j        t
          j        u sJ |j        d         |k    sJ d S )	NReadFDhr   TrJ   r   r   r   )r   r   r#   r$   r%   r   r&   r'   )temp_file_and_contentsread_from_fd	temp_filedatareadfd_callr   r)   s          r   test_send_fdr[   M   s    ,OIt!,#	|LLK	)	=	=	= @''Q'??@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ <$(AAAAA:a=D      s   AAA)pytestjeepneyr   r   r   jeepney.bus_messagesr   r   jeepney.io.blockingr   r	   utilsr   markskipif
pytestmarkfixturer   r   r"   r*   r7   rG   rR   r[   r!   r   r   <module>re      s8    = = = = = = = = = = 7 7 7 7 7 7 7 7 ; ; ; ; ; ; ; ; # # # # # #[!A    
   
4 4 4 ;#')      G G G2$ $ $! ! ! ! !r   