
    Yf                         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dS )    )BytesIO)abstractdeferprotocol)basicloopback)unittestc                   "    e Zd ZdZdeddfdZdS )BufferingServer    datareturnNc                 &    | xj         |z  c_         d S N)buffer)selfr   s     J/var/www/html/env/lib/python3.11/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dS )FileSendingClientfr   Nc                     || _         d S r   )r   )r   r   s     r   __init__zFileSendingClient.__init__   s    r   c                       j         J t          j                    }|                     j         j         d           }|                     fd           d S )Nc                     | S r   r   xs    r   <lambda>z2FileSendingClient.connectionMade.<locals>.<lambda>   s    ! r   c                 6    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   s^    ~)))DD	????@@@@@r   r   N)r   r   r   r   r   r-   r   r   r   r   r      sP        ' d    A A A A A Ar   r   c                   8    e Zd Zdej        d         fdZddZdS )FileSenderTestsr   Nc                      dt                      t          t                              }t          j        |          }dt
          dd f fd}|                    |          S )Ns  xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123r"   r   c                 >                         j                   d S r   )assertEqualr   )r"   r+   r   testStrs    r   callbackz1FileSenderTests.testSendingFile.<locals>.callback&   s!    QXw/////r   )r   r   r   r   loopbackTCPobjectr*   )r   cr,   r5   r+   r4   s   `   @@r   testSendingFilezFileSenderTests.testSendingFile   s    <gg..//"*"6q!"<"<	0 	04 	0 	0 	0 	0 	0 	0 	0 	0 }}X&&&r   c                    t          j                    }t          j                    }d|_        t          d          }|                    ||d           }|                     |j                   | 	                    |j
        d           d S )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+   s    %''
*,,CLL	((HkkJJ 	(+,,, 	"TUUUUUr   r.   )r   r   r   r   Deferredr9   rF   r   r   r   r0   r0      sP        
'!5 
' 
' 
' 
'V V V V V Vr   r0   N)ior   twisted.internetr   r   r   twisted.protocolsr   r   twisted.trialr	   Protocolr   r   TestCaser0   r   r   r   <module>rN      s  
       6 6 6 6 6 6 6 6 6 6 - - - - - - - - " " " " " "    h'   A A A A A) A A AV V V V Vh' V V V V Vr   