
    vgk                         d dl mZ d dlZd dlZd dlZd dl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 Zedk    r ej        d           dS dS )    )BytesION)StringIO)	as_stringc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )ChildUtilsTestsc                 Z    ddl m}  |ddi          }|                     |d u           d S )Nr   )getRPCInterfaceSUPERVISOR_SERVER_URLhttp://localhost:9001)supervisor.childutilsr	   
assertTrue)selfr	   rpcs      ]/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/supervisor/tests/test_childutils.pytest_getRPCInterfacez$ChildUtilsTests.test_getRPCInterface	   sF    999999o67NOPP4(((((    c                     ddl m}  |ddi          }|                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   getRPCTransportr
   r    r   r   assertEqualusernamepassword	serverurl)r   r   ts      r   "test_getRPCTransport_no_uname_passz2ChildUtilsTests.test_getRPCTransport_no_uname_pass   sy    999999O45LMNNR(((R(((&=>>>>>r   c                     ddl m} dddd} ||          }|                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   r   r   chrismabc123)r
   SUPERVISOR_USERNAMESUPERVISOR_PASSWORDr   )r   r   envr   s       r   $test_getRPCTransport_with_uname_passz4ChildUtilsTests.test_getRPCTransport_with_uname_pass   s    999999'>%-%-/ / OC  X...X...&=>>>>>r   c                 ^    ddl m} d} ||          }|                     |ddd           d S )Nr   )get_headersza:1 b:212ab)r   r&   r   )r   r&   lineresults       r   test_get_headersz ChildUtilsTests.test_get_headers    sL    555555T""cs!3!344444r   c                     ddl m} d} ||          \  }}|                     |ddd           |                     |d           d S )Nr   )	eventdataza:1 b:2
thedata
r'   r(   r)   zthedata
)r   r0   r   )r   r0   payloadheadersdatas        r   test_eventdatazChildUtilsTests.test_eventdata&   sf    333333&!	'**s"4"4555{+++++r   c                 |    ddl m} t          j        d          } ||          }|                     |d           d S )Nr   )get_asctime)	i                 r   r   z2009-01-18 22:14:07,000)r   r6   timemktimer   )r   r6   	timestampr-   s       r   test_get_asctimez ChildUtilsTests.test_get_asctime-   sP    555555K BCC	Y''!:;;;;;r   N)	__name__
__module____qualname__r   r   r$   r.   r4   r@    r   r   r   r      sn        ) ) )? ? ?? ? ?5 5 5, , ,< < < < <r   r   c                        e Zd Zd Zd Zd ZdS )!TestProcessCommunicationsProtocolc                     ddl m} t                      }|                    d|           ddlm} |j        }|j        }|                     |	                                |dz   |z              d S Nr   )pcomms   hello)ProcessCommunicationEvent)
r   rI   r   sendsupervisor.eventsrJ   BEGIN_TOKEN	END_TOKENr   getvalue)r   rI   stdoutrJ   beginends         r   	test_sendz+TestProcessCommunicationsProtocol.test_send4   s    //////

8V$$$??????)5'1**EH,<s,BCCCCCr   c                 H   ddl m} t          j        }	 t	                      x}t          _        |                    d           ddlm} |j        }|j        }| 	                    |
                                |dz   |z              |t          _        d S # |t          _        w xY wrH   )r   rI   sysrP   r   rL   rJ   rM   rN   r   rO   r   rI   oldiorJ   rQ   rR   s          r   test_stdoutz-TestProcessCommunicationsProtocol.test_stdout=       //////j	%ii'BLL"""CCCCCC-9E+5CR[[]]EH,<s,BCCCCJJJCJ   A1B B!c                 H   ddl m} t          j        }	 t	                      x}t          _        |                    d           ddlm} |j        }|j        }| 	                    |
                                |dz   |z              |t          _        d S # |t          _        w xY wrH   )r   rI   rU   stderrr   rL   rJ   rM   rN   r   rO   rV   s          r   test_stderrz-TestProcessCommunicationsProtocol.test_stderrJ   rZ   r[   N)rA   rB   rC   rS   rY   r^   rD   r   r   rF   rF   3   sD        D D D      r   rF   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestEventListenerProtocolc                 :   ddl m}  G d d          } |            }t                      }|                    ||          \  }}|                     |ddi           |                     |d           |                     |                                d           d S )	Nr   listenerc                       e Zd Zd Zd ZdS )2TestEventListenerProtocol.test_wait.<locals>.Dummyc                     dS )Nzlen:5rD   )r   s    r   readlinez;TestEventListenerProtocol.test_wait.<locals>.Dummy.readline[       wr   c                     dS )NhellorD   )r   ignoreds     r   readz7TestEventListenerProtocol.test_wait.<locals>.Dummy.read]   rh   r   N)rA   rB   rC   rg   rl   rD   r   r   Dummyre   Z   s2              r   rm   len5rj   zREADY
)r   rc   r   waitr   rO   )r   rc   rm   stdinrP   r2   r1   s          r   	test_waitz#TestEventListenerProtocol.test_waitX   s    222222	 	 	 	 	 	 	 	
 #==775+...'*****I66666r   c                     ddl m} ddlm} t	          |j                  }t                      }|                    |           |                     |	                                |           d S )Nr   rb   PEventListenerDispatcher)
r   rc   supervisor.dispatchersru   r   READY_FOR_EVENTS_TOKENr   readyr   rO   )r   rc   ru   tokenrP   s        r   
test_tokenz$TestEventListenerProtocol.test_tokenf   sx    222222CCCCCC2IJJv**E22222r   c                     ddl m} ddlm} t	          |j                  }t                      }|                    |           |                     |	                                |dz              d S )Nr   rb   rt   z2
OK)
r   rc   rv   ru   r   RESULT_TOKEN_STARTr   okr   rO   r   rc   ru   rQ   rP   s        r   test_okz!TestEventListenerProtocol.test_okn   s|    222222CCCCCC2EFFF**EGO<<<<<r   c                     ddl m} ddlm} t	          |j                  }t                      }|                    |           |                     |	                                |dz              d S )Nr   rb   rt   z4
FAIL)
r   rc   rv   ru   r   r|   r   failr   rO   r~   s        r   	test_failz#TestEventListenerProtocol.test_failv   s}    222222CCCCCC2EFFf**EI,=>>>>>r   c                    ddl m} ddlm} t	          |j                  }t                      }d}|                    ||           |t          |          d|}| 	                    |
                                |           d S )Nr   rb   rt   zthe body data ya fool

)r   rc   rv   ru   r   r|   r   rK   rn   r   rO   )r   rc   ru   rQ   rP   msgexpecteds          r   rS   z#TestEventListenerProtocol.test_send~   s    222222CCCCCC2EFF'c6"""!&C##6**H55555r   N)rA   rB   rC   rr   rz   r   r   rS   rD   r   r   r`   r`   W   s_        7 7 73 3 3= = =? ? ?6 6 6 6 6r   r`   c                  T    t          j        t          j        t                             S )N)unittestfindTestCasesrU   modulesrA   rD   r   r   
test_suiter      s    !#+h"7888r   __main__r   )defaultTest)rX   r   rU   r=   r   supervisor.compatr   r   TestCaser   rF   r`   r   rA   mainrD   r   r   <module>r      s         



   & & & & & & ' ' ' ' ' ')< )< )< )< )<h' )< )< )<V" " " " "(9 " " "H/6 /6 /6 /6 /6 1 /6 /6 /6d9 9 9 zHMl++++++ r   