o
    y)]                     @   s6   d dl Z d dlmZ d dlmZ G dd de jZdS )    N)Int)Messagec                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )MessageTestc                 C   s2   t ddt i}| |dddddd dS )z8The L{Message} schema should be very similar to KeyDict.foodata   )typer   Nr   r   assertEqualcoerceselfZschema r   H/usr/lib/python3/dist-packages/landscape/message_schemas/test_message.pytest_coerce	   s
   zMessageTest.test_coercec                 C   ,   t di }| |dddddd dS )z3L{Message} schemas should accept C{timestamp} keys.ZbargQ?)r   Z	timestampNr   r
   r   r   r   r   r   test_timestamp   
   
zMessageTest.test_timestampc                 C   r   )z-L{Message} schemas should accept C{api} keys.bazs   whateverr   ZapiNr   r   r   r   r   test_api   r   zMessageTest.test_apic                 C   s,   t di }| |dddddd dS )z1L{Message} schemas should accept None for C{api}.r   Nr   r   r   r   r   r   test_api_None   r   zMessageTest.test_api_Nonec                 C   s4   t ddt idgd}| |ddiddi dS )z<The L{Message} schema should allow additional optional keys.r   r   )Zoptionalr   Nr	   r   r   r   r   test_optional%   s   zMessageTest.test_optionalc                 C   s   t di }| |jd dS )z;The C{type} should be introspectable on L{Message} objects.r   N)r   r
   r   r   r   r   r   	test_type*   s   
zMessageTest.test_typec                 C   s*   t di }| ddi|ddd dS )zU
        The L{Message} schema discards unknown fields when coercing values.
        r   r   {   )r   ZcrapNr   r   r   r   r   test_with_unknown_fields/   s   

z$MessageTest.test_with_unknown_fieldsN)
__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r      s    r   )ZunittestZlandscape.lib.schemar   Z!landscape.message_schemas.messager   ZTestCaser   r   r   r   r   <module>   s    