
    Vh                         d dl mZ d dlmZmZmZ d dlmZmZ d dl	m
Z
  G d dej                        Z G d dej                        Z G d	 d
e
j                        Zy)    )BytesIO)abstractdeferprotocol)basicloopback)unittestc                        e Zd ZdZdeddfdZy)BufferingServer    datareturnNc                 .    | xj                   |z  c_         y N)buffer)selfr   s     H/home/dcms/DCMS/lib/python3.12/site-packages/twisted/test/test_tpfile.pydataReceivedzBufferingServer.dataReceived   s    tr   )__name__
__module____qualname__r   bytesr    r   r   r   r      s    F 4 r   r   c                   $    e Zd ZdeddfdZddZy)FileSendingClientfr   Nc                     || _         y r   )r   )r   r   s     r   __init__zFileSendingClient.__init__   s	    r   c                       j                   J t        j                         }|j                   j                   j                   d       }|j                   fd       y )Nc                     | S r   r   xs    r   <lambda>z2FileSendingClient.connectionMade.<locals>.<lambda>   s    ! r   c                 8    j                   j                         S r   )	transportloseConnection)rr   s    r   r#   z2FileSendingClient.connectionMade.<locals>.<lambda>   s     = = ? r   )r%   r   
FileSenderbeginFileTransferr   addCallback)r   sds   `  r   connectionMadez FileSendingClient.connectionMade   sJ    ~~)))D	?@r   r   N)r   r   r   r   r   r-   r   r   r   r   r      s    ' d Ar   r   c                   :    e Zd Zdej                  d   fdZddZy)FileSenderTestsr   Nc                      dt               t        t                    }t        j                  |      }dt
        dd f fd}|j                  |      S )Ns  xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123r"   r   c                 >    j                  j                         y r   )assertEqualr   )r"   r+   r   testStrs    r   callbackz1FileSenderTests.testSendingFile.<locals>.callback&   s    QXXw/r   )r   r   r   r   loopbackTCPobjectr*   )r   cr,   r5   r+   r4   s   `   @@r   testSendingFilezFileSenderTests.testSendingFile   sU    <gg./"*"6"6q!"<	0 	04 	0 }}X&&r   c                    t        j                         }t        j                         }d|_        t        d      }|j                  ||d       }| j                  |j                         | j                  |j                  d       y )N   r   c                     | S r   r   r!   s    r   r#   z6FileSenderTests.testSendingEmptyFile.<locals>.<lambda>1   s     r   z0producer unregistered with deferred being called)r   r(   r   FileDescriptor	connectedr   r)   assertIsNoneproducer
assertTruecalled)r   
fileSenderconsumer	emptyFiler,   s        r   testSendingEmptyFilez$FileSenderTests.testSendingEmptyFile+   sn    %%'
**,CL	((HkJ 	(++, 	"TUr   r.   )r   r   r   r   Deferredr9   rF   r   r   r   r0   r0      s    
'!5 
'Vr   r0   N)ior   twisted.internetr   r   r   twisted.protocolsr   r   twisted.trialr	   Protocolr   r   TestCaser0   r   r   r   <module>rN      sP   
  6 6 - "h'' A)) AVh'' Vr   