§
    Ètºf-  ã                   óp   — d dl mZ d dlmZ 	 d dlZeZd dlmZ n# e$ r dZY nw xY w G d„ de¦  «        Z	dS )é    )ÚFailure)ÚTestCaseN)Úsyslogc                   óf   — e Zd ZdZdZe€dZd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚSyslogObserverTestszS
    Tests for L{SyslogObserver} which sends Twisted log events to the syslog.
    Nz(syslog is not supported on this platformc                 óÐ   — |                       t          j        d| j        ¦  «         |                       t          j        d| j        ¦  «         t          j        d¦  «        | _        d S )NÚopenlogr   r   )Úpatchr   ÚSyslogObserverr	   Úobserver©Úselfs    ú^/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/python/test/test_syslog.pyÚsetUpzSyslogObserverTests.setUp   sO   € Ø�
Š
•6Ô(¨)°T´\ÑBÔBÐBØ�
Š
•6Ô(¨(°D´KÑ@Ô@Ð@ÝÔ-Ð.CÑDÔDˆŒˆˆó    c                 ó(   — |||f| _         g | _        d S ©N)Ú	logOpenedÚevents)r   ÚprefixÚoptionsÚfacilitys       r   r	   zSyslogObserverTests.openlog   s   € Ø  '¨8Ð4ˆŒØˆŒˆˆr   c                 ó>   — | j                              ||f¦  «         d S r   )r   Úappend)r   r   Úmessages      r   r   zSyslogObserverTests.syslog#   s#   € ØŒ×Ò˜G WÐ-Ñ.Ô.Ð.Ð.Ð.r   c                 óx   — | j                              ddddœ¦  «         |                      | j        g ¦  «         dS )zm
        L{SyslogObserver.emit} ignores events with an empty value for the
        C{'message'} key.
        © Fú-©r   ÚisErrorÚsystemN)r   ÚemitÚassertEqualr   r   s    r   Útest_emitWithoutMessagez+SyslogObserverTests.test_emitWithoutMessage&   sB   € ð
 	Œ×Ò r°eÀsÐKÐKÑLÔLÐLØ×Ò˜œ bÑ)Ô)Ð)Ð)Ð)r   c                 ó¨   — | j                              dddt          j        dœ¦  «         |                      | j        t          j        dfg¦  «         dS )ú¢
        L{SyslogObserver.emit} uses the value of the C{'syslogPriority'} as the
        syslog priority, if that key is present in the event dictionary.
        ©zhello, worldFr   )r   r    r!   ÚsyslogPriorityú[-] hello, worldN)r   r"   Ú	stdsyslogÚ	LOG_DEBUGr#   r   r   s    r   Útest_emitCustomPriorityz+SyslogObserverTests.test_emitCustomPriority.   sc   € ð
 	Œ×Òà,Ø ØÝ"+Ô"5ð	ð ñ	
ô 	
ð 	
ð 	×Ò˜œ­	Ô(;Ð=OÐ'PÐ&QÑRÔRÐRÐRÐRr   c           
      óÈ   — | j                              dddt          t          d¦  «        ¦  «        dœ¦  «         |                      | j        t          j        dfg¦  «         dS )zd
        L{SyslogObserver.emit} uses C{LOG_ALERT} if the event represents an
        error.
        r'   Tr   Úfoo)r   r    r!   Úfailurer)   N)r   r"   r   Ú	Exceptionr#   r   r*   Ú	LOG_ALERTr   s    r   Útest_emitErrorPriorityz*SyslogObserverTests.test_emitErrorPriority=   sp   € ð
 	Œ×Òà,ØØÝ"¥9¨UÑ#3Ô#3Ñ4Ô4ð	ð ñ	
ô 	
ð 	
ð 	×Ò˜œ­	Ô(;Ð=OÐ'PÐ&QÑRÔRÐRÐRÐRr   c                 óÞ   — | j                              dddt          j        t	          t          d¦  «        ¦  «        dœ¦  «         |                      | j        t          j        dfg¦  «         dS )z£
        L{SyslogObserver.emit} uses the value of the C{'syslogPriority'} key if
        it is specified even if the event dictionary represents an error.
        r'   Tr   Úbar)r   r    r!   r(   r/   r)   N)r   r"   r*   Ú
LOG_NOTICEr   r0   r#   r   r   s    r   Ú%test_emitCustomPriorityOverridesErrorz9SyslogObserverTests.test_emitCustomPriorityOverridesErrorL   sv   € ð
 	Œ×Òà,ØØÝ"+Ô"6Ý"¥9¨UÑ#3Ô#3Ñ4Ô4ðð ñ	
ô 	
ð 	
ð 	×Ò˜œ­	Ô(<Ð>PÐ'QÐ&RÑSÔSÐSÐSÐSr   c                 óÂ   — | j                              dddt          j        dœ¦  «         |                      | j        t          j        t          j        z  dfg¦  «         dS )r&   r'   Fr   )r   r    r!   ÚsyslogFacilityr)   N)r   r"   r*   ÚLOG_CRONr#   r   ÚLOG_INFOr   s    r   Útest_emitCustomFacilityz+SyslogObserverTests.test_emitCustomFacility\   sv   € ð
 	Œ×Òà,Ø ØÝ"+Ô"4ð	ð ñ	
ô 	
ð 	
ð 	×ÒØŒK�9Ô-µ	Ô0BÑBÐDVÐWÐXñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó’   — | j                              ddddœ¦  «         |                      | j        t          j        dfg¦  «         dS )zt
        L{SyslogObserver.emit} uses the value of the C{'system'} key to prefix
        the logged message.
        r'   FÚnonDefaultSystemr   z[nonDefaultSystem] hello, worldN©r   r"   r#   r   r*   r:   r   s    r   Útest_emitCustomSystemz)SyslogObserverTests.test_emitCustomSystemm   sh   € ð
 	Œ×Òà,Ø Ø,ðð ñ	
ô 	
ð 	
ð 	×ÒØŒK�9Ô-Ð/PÐQÐRñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó’   — | j                              ddddœ¦  «         |                      | j        t          j        dfg¦  «         dS )z‹
        L{SyslogObserver.emit} logs the value of the C{'message'} key of the
        event dictionary it is passed to the syslog.
        r'   Fr   r   r)   Nr>   r   s    r   Útest_emitMessagez$SyslogObserverTests.test_emitMessage}   sW   € ð
 	Œ×ÒØ)°eÀsÐKÐKñ	
ô 	
ð 	
ð 	×Ò˜œ­	Ô(:Ð<NÐ'OÐ&PÑQÔQÐQÐQÐQr   c                 ó¬   — | j                              ddddœ¦  «         |                      | j        t          j        dft          j        dfg¦  «         dS )zW
        Each line of a multiline message is emitted separately to the syslog.
        )zhello,
worldFr   r   ú
[-] hello,ú
[-] 	worldNr>   r   s    r   Útest_emitMultilineMessagez-SyslogObserverTests.test_emitMultilineMessage‡   sl   € ð 	Œ×ÒØ*°uÈÐLÐLñ	
ô 	
ð 	
ð 	×ÒØŒKÝÔ  ,Ð/µ)Ô2DÀmÐ1TÐUñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó¬   — | j                              ddddœ¦  «         |                      | j        t          j        dft          j        dfg¦  «         dS )zw
        Trailing empty lines of a multiline message are omitted from the
        messages sent to the syslog.
        )zhello,
world

Fr   r   rC   rD   Nr>   r   s    r   Ú!test_emitStripsTrailingEmptyLinesz5SyslogObserverTests.test_emitStripsTrailingEmptyLines“   sl   € ð
 	Œ×ÒØ.¸5ÈCÐPÐPñ	
ô 	
ð 	
ð 	×ÒØŒKÝÔ  ,Ð/µ)Ô2DÀmÐ1TÐUñ	
ô 	
ð 	
ð 	
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r*   Úskipr   r	   r   r$   r,   r2   r6   r;   r?   rA   rE   rG   r   r   r   r   r      só   € € € € € ðð ð €FàÐØ9ˆðEð Eð Eð
ð ð ð/ð /ð /ð*ð *ð *ðSð Sð SðSð Sð SðTð Tð Tð 
ð 
ð 
ð"
ð 
ð 
ð Rð Rð Rð

ð 

ð 

ð
ð 
ð 
ð 
ð 
r   r   )
Útwisted.python.failurer   Útwisted.trial.unittestr   r   Ú
_stdsyslogr*   Útwisted.pythonÚImportErrorr   r   r   r   ú<module>rR      s¼   ðð +Ð *Ð *Ð *Ð *Ð *Ø +Ð +Ð +Ð +Ð +Ð +ð&ØÐÐÐð €IØ%Ð%Ð%Ð%Ð%Ð%Ð%øð	 ð ð ð Ø€I€I€IðøøøðN
ð N
ð N
ð N
ð N
˜(ñ N
ô N
ð N
ð N
ð N
s   Ž ›%¤%