
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
 ;Xd                 @   sJ   d Z ddlmZmZ ddlmZmZmZ ddlm	Z	 G dd dej
ZdS )zQ
Tests for the parts of jsonschema related to the :validator:`format` property.

    )mockunittest)FormatErrorValidationErrorFormatChecker)Draft4Validatorc               @   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 )TestFormatCheckerc             C   s   t j | _d S )N)r   ZMockfn)self r   !/usr/lib/python3.6/test_format.pysetUp   s    zTestFormatChecker.setUpc             C   s   t f d}| j|j d S )N)formats)r   ZassertFalsecheckers)r
   checkerr   r   r   test_it_can_validate_no_formats   s    
z1TestFormatChecker.test_it_can_validate_no_formatsc          
   C   s&   | j t tdgd W d Q R X d S )Nzo noes)r   )assertRaisesKeyErrorr   )r
   r   r   r   .test_it_raises_a_key_error_for_unknown_formats   s    z@TestFormatChecker.test_it_raises_a_key_error_for_unknown_formatsc             C   sJ   t jjtjdd. tjd| j | jtjd| jf fi W d Q R X d S )NT)clearnew)r   Zpatchdictr   r   Z
cls_checksr	   assertEqual)r
   r   r   r   !test_it_can_register_cls_checkers   s    z3TestFormatChecker.test_it_can_register_cls_checkersc             C   s8   t  }|jd| j | j|jtt j| jf fd d S )Nr   )r   )r   checksr	   r   r   r   )r
   r   r   r   r   test_it_can_register_checkers   s
    z/TestFormatChecker.test_it_can_register_checkersc             C   s   t  }t  }| j_|jdtd| j | jt}|jdd W d Q R X | j|j	j
| | j|j	j| t| j_| jt |jdd W d Q R X d S )Nfoo)raisesbar)r   
ValueErrorr	   side_effectr   r   r   ZcheckassertIs	exceptioncause	__cause__AttributeError)r
   r   r#   cmr   r   r   !test_it_catches_registered_errors%   s    z3TestFormatChecker.test_it_catches_registered_errorsc          
   C   sl   t  }|jdtd| j t  }| j_tddi|d}| jt}|jd W d Q R X | j	|j
j| d S )Nr   )r   format)Zformat_checkerr   )r   r   r   r	   r    r   r   r   Zvalidater!   r"   r$   )r
   r   r#   Z	validatorr&   r   r   r   7test_format_error_causes_become_validation_error_causes6   s    zITestFormatChecker.test_format_error_causes_become_validation_error_causesN)
__name__
__module____qualname__r   r   r   r   r   r'   r)   r   r   r   r   r      s   r   N)__doc__Zjsonschema.tests.compatr   r   Z
jsonschemar   r   r   Zjsonschema.validatorsr   ZTestCaser   r   r   r   r   <module>   s   