
    ce	                         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                  Z	 G d dej                        Zy)	    )mock)base)_factory)_lazy)_messagec                   @     e Zd Z fdZ fdZd Zd Zd Zd Z xZ	S )TranslatorFactoryTestc                 T    t         t        |           t        j                  | _        y N)superr	   setUpr   USE_LAZY	_USE_LAZYself	__class__s    >/usr/lib/python3/dist-packages/oslo_i18n/tests/test_factory.pyr   zTranslatorFactoryTest.setUp   s    #T02    c                 T    | j                   t        _        t        t        |           y r   )r   r   r   r   r	   tearDownr   s    r   r   zTranslatorFactoryTest.tearDown$   s    #T35r   c                    t        j                  d       t        j                  j	                  t
        d      5 }t        j                  d      }|j                  d       |j                  dd       d d d        y # 1 sw Y   y xY w)NTMessagedomain	some text)r   )
r   enable_lazyr   patchobjectr   r   TranslatorFactoryprimaryassert_called_withr   msgtfs      r   	test_lazyzTranslatorFactoryTest.test_lazy)   sn    $ZZx3 	As++H5BJJ{#"";x"@	A 	A 	As   :A==Bc                    t        j                  d       t        j                  j	                  t
        d      5 }t        d      |_        t        j                  d      }|j                  d       d d d        y # 1 sw Y   y xY w)NFr   zshould not use Messager   r   )r   r   r   r   r   r   AssertionErrorside_effectr   r   r   r!   s      r   test_not_lazyz#TranslatorFactoryTest.test_not_lazy0   sd    % ZZx3 	$s,-EFCO++H5BJJ{#	$ 	$ 	$s   7A::Bc                 F   t        j                  d       t        j                  d      }|j	                  d      }| j                  |t        j                         t        j                  d       |j	                  d      }| j                  |t        j                         y )NTr   r   F)	r   r   r   r   r   assertIsInstancer   r   assertNotIsInstance)r   r#   rs      r   test_change_lazyz&TranslatorFactoryTest.test_change_lazy7   sv    $''1JJ{#a!1!12% JJ{#  H$4$45r   c                     t         j                  j                  t        j                  d      5 }t        j                  d      }|j                  d       |j                  d       d d d        y # 1 sw Y   y xY w)N_make_translation_funcr   mylevelzdomain-log-mylevel)r   r   r   r   r   _make_log_translation_funcr    )r   mtfr#   s      r   test_log_level_domain_namez0TranslatorFactoryTest.test_log_level_domain_name@   sd    ZZx9979 	9<?++H5B)))4""#78		9 	9 	9s   8A00A9)
__name__
__module____qualname__r   r   r$   r(   r-   r3   __classcell__)r   s   @r   r	   r	      s"    (
6
A$69r   r	   N)unittestr   oslotestr   	test_base	oslo_i18nr   r   r   CONTEXT_SEPARATORBaseTestCaser	    r   r   <module>r?      s6   "  &    .. (9I22 (9r   