Ë
    ¸~Þeê  ã                   óZ   — d dl Z d dlmZ d dlmZ d dlmZ  G d„ de j                  «      Zy)é    N)ÚConstant)ÚInt)ÚMessagec                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚMessageTestc                 ó~   — t        ddt        «       i«      }| j                  |j                  dddœ«      dddœ«       y)z8The L{Message} schema should be very similar to KeyDict.ÚfooÚdataé   )Útyper
   N©r   r   ÚassertEqualÚcoerce©ÚselfÚschemas     úH/usr/lib/python3/dist-packages/landscape/message_schemas/test_message.pyÚtest_coercezMessageTest.test_coerce	   s;   € ä˜ ¬« Ó0ˆØ×ÑØ�M‰M 5°!Ñ4Ó5Ø AÑ&õ	
ó    c                 ó\   — t        d«      }| j                  |j                  d«      d«       y)zm
        The L{Constant} schema type recognizes bytestrings that decode to
        matching strings.
        Úregisters   registerN)r   r   r   )r   Úconstants     r   Útest_coerce_bytes_to_strz$MessageTest.test_coerce_bytes_to_str   s'   € ô
 ˜JÓ'ˆØ×Ñ˜Ÿ™¨Ó5°zÕBr   c                 ój   — t        di «      }| j                  |j                  dddœ«      dddœ«       y)z3L{Message} schemas should accept C{timestamp} keys.Úbarg…ëQ¸Õ?)r   Ú	timestampN©r   r   r   r   s     r   Útest_timestampzMessageTest.test_timestamp   s5   € ä˜ Ó#ˆØ×ÑØ�M‰M 5°tÑ<Ó=Ø¨Ñ.õ	
r   c                 ój   — t        di «      }| j                  |j                  dddœ«      dddœ«       y)z-L{Message} schemas should accept C{api} keys.Úbazs   whatever©r   ÚapiNr   r   s     r   Útest_apizMessageTest.test_api!   s5   € ä˜ Ó#ˆØ×ÑØ�M‰M 5°Ñ=Ó>Ø ;Ñ/õ	
r   c                 ój   — t        di «      }| j                  |j                  dddœ«      dddœ«       y)z1L{Message} schemas should accept None for C{api}.r    Nr!   r   r   s     r   Útest_api_nonezMessageTest.test_api_none)   s5   € ä˜ Ó#ˆØ×ÑØ�M‰M 5°Ñ6Ó7Ø 4Ñ(õ	
r   c                 ó€   — t        ddt        «       idg¬«      }| j                  |j                  ddi«      ddi«       y)z<The L{Message} schema should allow additional optional keys.r	   r
   )Úoptionalr   Nr   r   s     r   Útest_optionalzMessageTest.test_optional1   s9   € ä˜ ¬« ¸6¸(ÔCˆØ×Ñ˜Ÿ™¨° Ó7¸&À%¸ÕIr   c                 óT   — t        di «      }| j                  |j                  d«       y)z;The C{type} should be introspectable on L{Message} objects.r	   N)r   r   r   r   s     r   Ú	test_typezMessageTest.test_type6   s"   € ä˜ Ó#ˆØ×Ñ˜Ÿ™ eÕ,r   c                 óh   — t        di «      }| j                  ddi|j                  dddœ«      «       y)zU
        The L{Message} schema discards unknown fields when coercing values.
        r	   r   é{   )r   ÚcrapNr   r   s     r   Útest_with_unknown_fieldsz$MessageTest.test_with_unknown_fields;   s6   € ô ˜ Ó#ˆØ×ÑØ�UˆOØ�M‰M 5°#Ñ6Ó7õ	
r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r%   r(   r*   r.   © r   r   r   r      s,   „ ò
òCò
ò
ò
òJò
-ó

r   r   )ÚunittestÚlandscape.lib.schemar   r   Ú!landscape.message_schemas.messager   ÚTestCaser   r2   r   r   ú<module>r7      s#   ðÛ å )Ý $Ý 5ô;
�(×#Ñ#õ ;
r   