
    ce                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z
 d dlmZ  ej                  e      Z G d dej                         Zy)	    N)mock)base)_message)log)fakesc                        e Zd Z fdZd Z ej                  d      d        Z ej                  d      d        Z ej                  d      d        Z	 xZ
S )TranslationHandlerTestCasec                    t         t        |           t        j                         | _        t        j                  | j
                        | _        t        j                  d      | _        | j                  j                  | j                         t        j                  d      | _        | j                  j                  t        j                          | j                  j#                  | j                         y )Nzh_CNlocalehander_logger)superr	   setUpioStringIOstreamloggingStreamHandlerdestination_handleri18n_logTranslationHandlertranslation_handler	setTarget	getLoggerloggersetLevelDEBUG
addHandler)self	__class__s    >/usr/lib/python3/dist-packages/oslo_i18n/tests/test_handler.pyr   z TranslationHandlerTestCase.setUp    s    ($57kkm#*#8#8#E #+#>#>w#G   **4+C+CD''(=>W]]+t778    c                     d}| j                   j                  |       | j                  || j                   j                  j                         y )Nzsome formatter)r   setFormatterassertEqualtarget	formatter)r   r&   s     r    test_set_formatterz-TranslationHandlerTestCase.test_set_formatter,   s=    $	  --i8D$<$<$C$C$M$MNr!   zgettext.translationc                    d}d}||i}d|i}t         j                  j                  |      }||_        t	        j
                  |      }| j                  j                  |       | j                  || j                  j                                y )NzA message to be loggedz!A message to be logged in Chineser   r   FakeTranslations
translatorside_effectr   Messager   infoassertInr   getvalue)r   mock_translationlog_messagelog_message_translationtranslationstranslations_mapr+   msgs           r    test_emit_translated_messagez7TranslationHandlerTestCase.test_emit_translated_message1   s    ."E#%<=#\2++667GH
'1${+-t{{/C/C/EFr!   c                 Z   d}d}d}d}||||i}d|i}t         j                  j                  |      }||_        t	        j
                  |      }	t	        j
                  |      }
| j                  j                  |	|
       | j                  ||z  | j                  j                                y )NzA message to be logged %sz$A message to be logged in Chinese %szArg to be loggedzAn arg to be logged in Chineser   r)   )r   r1   r2   r3   log_arglog_arg_translationr4   r5   r+   r6   args              r    &test_emit_translated_message_with_argszATranslationHandlerTestCase.test_emit_translated_message_with_args?   s    1"H$>#%<!46#\2++667GH
'1${+w'c"-0CCkk**,	.r!   c                    d}d}d}d}d}d}||||||i}d|i}	t         j                  j                  |	      }
|
|_        t	        j
                  |      }t	        j
                  |      }t	        j
                  |      }| j                  j                  |||d       |||dz  }| j                  || j                  j                                y )	Nz(A message to be logged %(arg1)s $(arg2)sz*Chinese msg to be logged %(arg1)s $(arg2)szArg1 to be loggedzArg1 to be logged in ChinesezArg2 to be loggedzArg2 to be logged in Chineser   )arg1arg2r)   )r   r1   r2   r3   	log_arg_1log_arg_1_translation	log_arg_2log_arg_2_translationr4   r5   r+   r6   arg_1arg_2translations                  r    ,test_emit_translated_message_with_named_argszGTranslationHandlerTestCase.test_emit_translated_message_with_named_argsS   s    @"N'	 >'	 >#%<!#8!#8: $\2++667GH
'1${+  +  +ue<=-9N9N1P Pk4;;#7#7#9:r!   )__name__
__module____qualname__r   r'   r   patchr7   r<   rG   __classcell__)r   s   @r    r	   r	      sp    
9O
 TZZ%&G 'G TZZ%&. '.& TZZ%&; ';r!   r	   )r   r   unittestr   oslotestr   	test_base	oslo_i18nr   r   r   oslo_i18n.testsr   r   rH   LOGBaseTestCaser	    r!   r    <module>rU      sB   " 
   &  % !g!L;!7!7 L;r!   