+
    üÐj-  ã                   ól   € ^ RI Ht ^ RIHt  ^ RIt]t^ RIHt  ! R R]4      t	R#   ] d    Rt Li ; i)é    )ÚFailure)ÚTestCaseN)Úsyslogc                   ó|   a € ] tR t^t o RtRt]f   RtR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tRtV tR# )ÚSyslogObserverTestszK
Tests for L{SyslogObserver} which sends Twisted log events to the syslog.
Nz(syslog is not supported on this platformc                óè   € V P                  \        P                  R V P                  4       V P                  \        P                  RV P                  4       \        P                  ! R4      V n        R# )Úopenlogr   r   N)Úpatchr   ÚSyslogObserverr	   Úobserver©Úselfs   &ÚA/usr/lib/python3/dist-packages/twisted/python/test/test_syslog.pyÚsetUpÚSyslogObserverTests.setUp   sI   € Ø�
‰
”6×(Ñ(¨)°T·\±\ÔBØ�
‰
”6×(Ñ(¨(°D·K±KÔ@Ü×-Ò-Ð.CÓDˆŽó    c                ó&   € WV3V n         . V n        R # ©N)Ú	logOpenedÚevents)r   ÚprefixÚoptionsÚfacilitys   &&&&r   r	   ÚSyslogObserverTests.openlog   s   € Ø ¨8Ð4ˆŒØˆŽr   c                ó>   € V P                   P                  W34       R # r   )r   Úappend)r   r   Úmessages   &&&r   r   ÚSyslogObserverTests.syslog#   s   € Ø�‰×Ñ˜GÐ-Ö.r   c                ó€   € V P                   P                  RRRRRR/4       V P                  V P                  . 4       R# )zU
L{SyslogObserver.emit} ignores events with an empty value for the
C{'message'} key.
r   ÚisErrorFÚsystemÚ-N© )r   ÚemitÚassertEqualr   r   s   &r   Útest_emitWithoutMessageÚ+SyslogObserverTests.test_emitWithoutMessage&   s7   € ð
 	�‰×Ñ˜I r¨9°e¸XÀsÐKÔLØ×Ñ˜Ÿ™ bÖ)r   c           
     óÂ   € V P                   P                  RR	RRRRR\        P                  /4       V P	                  V P
                  \        P                  R3.4       R# )
úŠ
L{SyslogObserver.emit} uses the value of the C{'syslogPriority'} as the
syslog priority, if that key is present in the event dictionary.
r   r    Fr!   r"   ÚsyslogPriorityú[-] hello, worldN©zhello, world)r   r$   Ú	stdsyslogÚ	LOG_DEBUGr%   r   r   s   &r   Útest_emitCustomPriorityÚ+SyslogObserverTests.test_emitCustomPriority.   s[   € ð
 	�‰×ÑàÐ,Ø˜5Ø˜#Ø ¤)×"5Ñ"5ð	ô	
ð 	×Ñ˜Ÿ™¬	×(;Ñ(;Ð=OÐ'PÐ&QÖRr   c                óÊ   € V P                   P                  RR
RRRRR\        \        R4      4      /4       V P	                  V P
                  \        P                  R3.4       R	# )zL
L{SyslogObserver.emit} uses C{LOG_ALERT} if the event represents an
error.
r   r    Tr!   r"   ÚfailureÚfoor+   Nr,   )r   r$   r   Ú	Exceptionr%   r   r-   Ú	LOG_ALERTr   s   &r   Útest_emitErrorPriorityÚ*SyslogObserverTests.test_emitErrorPriority=   s_   € ð
 	�‰×ÑàÐ,Ø˜4Ø˜#Øœ7¤9¨UÓ#3Ó4ð	ô	
ð 	×Ñ˜Ÿ™¬	×(;Ñ(;Ð=OÐ'PÐ&QÖRr   c                óê   € V P                   P                  RRRRRRR\        P                  R\	        \        R4      4      /4       V P                  V P                  \        P                  R	3.4       R
# )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   r    Tr!   r"   r*   r2   Úbarr+   Nr,   )r   r$   r-   Ú
LOG_NOTICEr   r4   r%   r   r   s   &r   Ú%test_emitCustomPriorityOverridesErrorÚ9SyslogObserverTests.test_emitCustomPriorityOverridesErrorL   sj   € ð
 	�‰×ÑàÐ,Ø˜4Ø˜#Ø ¤)×"6Ñ"6Øœ7¤9¨UÓ#3Ó4ðô	
ð 	×Ñ˜Ÿ™¬	×(<Ñ(<Ð>PÐ'QÐ&RÖSr   c           
     óì   € V P                   P                  RR	RRRRR\        P                  /4       V P	                  V P
                  \        P                  \        P                  ,          R3.4       R# )
r)   r   r    Fr!   r"   ÚsyslogFacilityr+   Nr,   )r   r$   r-   ÚLOG_CRONr%   r   ÚLOG_INFOr   s   &r   Útest_emitCustomFacilityÚ+SyslogObserverTests.test_emitCustomFacility\   si   € ð
 	�‰×ÑàÐ,Ø˜5Ø˜#Ø ¤)×"4Ñ"4ð	ô	
ð 	×ÑØ�K‰Kœ9×-Ñ-´	×0BÑ0BÕBÐDVÐWÐXö	
r   c                ó¢   € V P                   P                  RRRRRR/4       V P                  V P                  \        P
                  R3.4       R# )	z\
L{SyslogObserver.emit} uses the value of the C{'system'} key to prefix
the logged message.
r   r    Fr!   ÚnonDefaultSystemz[nonDefaultSystem] hello, worldNr,   ©r   r$   r%   r   r-   r@   r   s   &r   Útest_emitCustomSystemÚ)SyslogObserverTests.test_emitCustomSystemm   sT   € ð
 	�‰×ÑàÐ,Ø˜5ØÐ,ðô	
ð 	×ÑØ�K‰Kœ9×-Ñ-Ð/PÐQÐRö	
r   c                ó¢   € V P                   P                  RRRRRR/4       V P                  V P                  \        P
                  R3.4       R# )	zs
L{SyslogObserver.emit} logs the value of the C{'message'} key of the
event dictionary it is passed to the syslog.
r   r    Fr!   r"   r+   Nr,   rE   r   s   &r   Útest_emitMessageÚ$SyslogObserverTests.test_emitMessage}   sL   € ð
 	�‰×ÑØÐ)¨9°e¸XÀsÐKô	
ð 	×Ñ˜Ÿ™¬	×(:Ñ(:Ð<NÐ'OÐ&PÖQr   c                óÄ   € V P                   P                  RR	RRRR/4       V P                  V P                  \        P
                  R3\        P
                  R3.4       R# )
zG
Each line of a multiline message is emitted separately to the syslog.
r   r    Fr!   r"   ú
[-] hello,ú
[-] 	worldN)zhello,
worldrE   r   s   &r   Útest_emitMultilineMessageÚ-SyslogObserverTests.test_emitMultilineMessage‡   s\   € ð 	�‰×ÑØÐ*¨I°u¸hÈÐLô	
ð 	×ÑØ�K‰KÜ× Ñ  ,Ð/´)×2DÑ2DÀmÐ1TÐUö	
r   c                óÄ   € V P                   P                  RR	RRRR/4       V P                  V P                  \        P
                  R3\        P
                  R3.4       R# )
z_
Trailing empty lines of a multiline message are omitted from the
messages sent to the syslog.
r   r    Fr!   r"   rL   rM   N)zhello,
world

rE   r   s   &r   Ú!test_emitStripsTrailingEmptyLinesÚ5SyslogObserverTests.test_emitStripsTrailingEmptyLines“   s\   € ð
 	�‰×ÑØÐ.°	¸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&   r/   r6   r;   rA   rF   rI   rN   rQ   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sb   ø‡ € ñð €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   Ž' §	3²3