U
    n5{iŒ  ã                   @   s>   d Z ddlmZ ddlmZ ddlmZ G dd„ dejƒZdS )z(
Tests for L{twisted.protocols.finger}.
é    )ÚStringTransport)Úfinger)Úunittestc                   @   sV   e Zd ZdZddœdd„Zddœdd„Zddœdd	„Zddœd
d„Zddœdd„ZdS )ÚFingerTestsz%
    Tests for L{finger.Finger}.
    N)Úreturnc                 C   s$   t ƒ | _t ¡ | _| j | j¡ dS )zA
        Create and connect a L{finger.Finger} instance.
        N)r   Ú	transportr   ZFingerÚprotocolZmakeConnection©Úself© r   ú</tmp/pip-unpacked-wheel-mnhg7r0q/twisted/test/test_finger.pyÚsetUp   s    
zFingerTests.setUpc                 C   s"   | j  d¡ |  | j ¡ d¡ dS )zž
        When L{finger.Finger} receives a CR LF terminated line, it responds
        with the default user status message - that no such user exists.
        s   moshez
ó   Login: moshez
No such user
N©r   ZdataReceivedÚassertEqualr   Úvaluer	   r   r   r   Útest_simple   s    zFingerTests.test_simplec                 C   s"   | j  d¡ |  | j ¡ d¡ dS )z§
        The behavior for a query which begins with C{"/w"} is the same as the
        behavior for one which does not.  The user is reported as not existing.
        s   /w moshez
r   Nr   r	   r   r   r   Útest_simpleW"   s    zFingerTests.test_simpleWc                 C   s"   | j  d¡ |  | j ¡ d¡ dS )z‡
        When L{finger.Finger} receives a request for a remote user, it responds
        with a message rejecting the request.
        s   moshez@example.com
s!   Finger forwarding service denied
Nr   r	   r   r   r   Útest_forwarding*   s    zFingerTests.test_forwardingc                 C   s"   | j  d¡ |  | j ¡ d¡ dS )z�
        When L{finger.Finger} receives a blank line, it responds with a message
        rejecting the request for all online users.
        s   
s   Finger online list denied
Nr   r	   r   r   r   Ú	test_list2   s    zFingerTests.test_list)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r      s   r   N)	r   Ztwisted.internet.testingr   Ztwisted.protocolsr   Ztwisted.trialr   ZTestCaser   r   r   r   r   Ú<module>   s   