ó
    Ö›‘h-  ã                   óh   • S SK Jr  S SKJr   S SKr\rS SKJr   " S S\5      r	g! \ a    Sr Nf = f)é    )ÚFailure)ÚTestCaseN)Úsyslogc                   ón   • \ rS rSrSrSr\c  SrS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rSrg)ÚSyslogObserverTestsé   zK
Tests for L{SyslogObserver} which sends Twisted log events to the syslog.
Nz(syslog is not supported on this platformc                 óæ   • U R                  [        R                  SU R                  5        U R                  [        R                  SU R                  5        [        R                  " S5      U l        g )NÚopenlogr   r   )Úpatchr   ÚSyslogObserverr
   Úobserver©Úselfs    ÚcC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/python/test/test_syslog.pyÚsetUpÚSyslogObserverTests.setUp   sI   € Ø�
‰
”6×(Ñ(¨)°T·\±\ÔBØ�
‰
”6×(Ñ(¨(°D·K±KÔ@Ü×-Ò-Ð.CÓDˆ�ó    c                 ó$   • XU4U l         / U l        g ©N)Ú	logOpenedÚevents)r   ÚprefixÚoptionsÚfacilitys       r   r
   ÚSyslogObserverTests.openlog   s   € Ø ¨8Ð4ˆŒØˆ�r   c                 ó<   • U R                   R                  X45        g r   )r   Úappend)r   r   Úmessages      r   r   ÚSyslogObserverTests.syslog#   s   € Ø�‰×Ñ˜GÐ-Õ.r   c                 óz   • U R                   R                  SSSS.5        U R                  U R                  / 5        g)zU
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_emitWithoutMessageÚ+SyslogObserverTests.test_emitWithoutMessage&   s1   € ð
 	�‰×Ñ r°eÀsÑKÔLØ×Ñ˜Ÿ™ bÕ)r   c                 óº   • U R                   R                  SSS[        R                  S.5        U R	                  U R
                  [        R                  S4/5        g)úŠ
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_emitCustomPriorityÚ+SyslogObserverTests.test_emitCustomPriority.   sR   € ð
 	�‰×Ñà,Ø ØÜ"+×"5Ñ"5ñ	ô	
ð 	×Ñ˜Ÿ™¬	×(;Ñ(;Ð=OÐ'PÐ&QÕRr   c           
      óÂ   • U R                   R                  SSS[        [        S5      5      S.5        U R	                  U R
                  [        R                  S4/5        g)zL
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_emitErrorPriorityÚ*SyslogObserverTests.test_emitErrorPriority=   sV   € ð
 	�‰×Ñà,ØØÜ"¤9¨UÓ#3Ó4ñ	ô	
ð 	×Ñ˜Ÿ™¬	×(;Ñ(;Ð=OÐ'PÐ&QÕRr   c                 óà   • U R                   R                  SSS[        R                  [	        [        S5      5      S.5        U R                  U R                  [        R                  S4/5        g)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-   r5   r.   N)r   r&   r/   Ú
LOG_NOTICEr   r6   r'   r   r   s    r   Ú%test_emitCustomPriorityOverridesErrorÚ9SyslogObserverTests.test_emitCustomPriorityOverridesErrorL   s_   € ð
 	�‰×Ñà,ØØÜ"+×"6Ñ"6Ü"¤9¨UÓ#3Ó4ñô	
ð 	×Ñ˜Ÿ™¬	×(<Ñ(<Ð>PÐ'QÐ&RÕSr   c                 óÜ   • U R                   R                  SSS[        R                  S.5        U R	                  U R
                  [        R                  [        R                  -  S4/5        g)r+   r,   Fr"   )r   r$   r%   ÚsyslogFacilityr.   N)r   r&   r/   ÚLOG_CRONr'   r   ÚLOG_INFOr   s    r   Útest_emitCustomFacilityÚ+SyslogObserverTests.test_emitCustomFacility\   s`   € ð
 	�‰×Ñà,Ø ØÜ"+×"4Ñ"4ñ	ô	
ð 	×ÑØ�K‰Kœ9×-Ñ-´	×0BÑ0BÑBÐDVÐWÐXõ	
r   c                 óœ   • U R                   R                  SSSS.5        U R                  U R                  [        R
                  S4/5        g)z\
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/   rB   r   s    r   Útest_emitCustomSystemÚ)SyslogObserverTests.test_emitCustomSystemm   sL   € ð
 	�‰×Ñà,Ø Ø,ñô	
ð 	×ÑØ�K‰Kœ9×-Ñ-Ð/PÐQÐRõ	
r   c                 óœ   • U R                   R                  SSSS.5        U R                  U R                  [        R
                  S4/5        g)zs
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.   NrG   r   s    r   Útest_emitMessageÚ$SyslogObserverTests.test_emitMessage}   sE   € ð
 	�‰×ÑØ)°eÀsÑKô	
ð 	×Ñ˜Ÿ™¬	×(:Ñ(:Ð<NÐ'OÐ&PÕQr   c                 ó¾   • U R                   R                  SSSS.5        U R                  U R                  [        R
                  S4[        R
                  S4/5        g)zG
Each line of a multiline message is emitted separately to the syslog.
)zhello,
worldFr"   r#   ú
[-] hello,ú
[-] 	worldNrG   r   s    r   Útest_emitMultilineMessageÚ-SyslogObserverTests.test_emitMultilineMessage‡   sU   € ð 	�‰×ÑØ*°uÈÑLô	
ð 	×ÑØ�K‰KÜ× Ñ  ,Ð/´)×2DÑ2DÀmÐ1TÐUõ	
r   c                 ó¾   • U R                   R                  SSSS.5        U R                  U R                  [        R
                  S4[        R
                  S4/5        g)z_
Trailing empty lines of a multiline message are omitted from the
messages sent to the syslog.
)zhello,
world

Fr"   r#   rN   rO   NrG   r   s    r   Ú!test_emitStripsTrailingEmptyLinesÚ5SyslogObserverTests.test_emitStripsTrailingEmptyLines“   sU   € ð
 	�‰×ÑØ.¸5ÈCÑPô	
ð 	×ÑØ�K‰KÜ× Ñ  ,Ð/´)×2DÑ2DÀmÐ1TÐUõ	
r   )r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r/   Úskipr   r
   r   r(   r1   r8   r=   rC   rH   rK   rP   rS   Ú__static_attributes__r!   r   r   r   r      sZ   † ñð €FàÑØ9ˆòEò
ò/ò*òSòSòTò 
ò"
ò Rò

õ
r   r   )
Útwisted.python.failurer   Útwisted.trial.unittestr   r   Ú
_stdsyslogr/   Útwisted.pythonÚImportErrorr   r!   r   r   Ú<module>ra      sC   ðõ +Ý +ð&Ûð €IÝ%ôN
˜(õ N
øð ó Ø‚Iðús   Ž& ¦1°1