name : test_cli.cpython-39.pyc
a

q4u]w�@s�ddlmZddlZddlZddlZddlmZmZmZm	Z	ddl
mZddlm
Z
dd�ZGdd	�d	e�ZGd
d�de�ZdS)�)�TestCaseN)�Draft4Validator�ValidationError�cli�__version__)�NativeIO)�SchemaErrorcs$tt����G�fdd�dt�}|S)Ncs(eZdZdd�Z�fdd�Zdd�ZdS)z%fake_validator.<locals>.FakeValidatorc_sdS�N�)�self�args�kwargsr
r
�=/usr/lib/python3.9/site-packages/jsonschema/tests/test_cli.py�__init__sz.fake_validator.<locals>.FakeValidator.__init__cs�r���SgSr	)�pop)r�instance��errorsr
r�iter_errorssz1fake_validator.<locals>.FakeValidator.iter_errorscSsdSr	r
)r�schemar
r
r�check_schemasz2fake_validator.<locals>.FakeValidator.check_schemaN)�__name__�
__module__�__qualname__rrrr
rr
r�
FakeValidatorsr)�list�reversed�object)rrr
rr�fake_validatorsrc@s:eZdZe�ZdZdZdd�Zdd�Zdd�Z	d	d
�Z
dS)�
TestParserzfoo.jsonzschema.jsoncCs|jt_|�ttd�dS)N�open)�	fake_openrr Z
addCleanup�delattr)rr
r
r�setUp#szTestParser.setUpcCs>||jkrd}n ||jkr i}n|�d�|��tt�|��S)N�zWhat is {!r})�
instance_file�schema_fileZfail�formatr�json�dumps)r�path�contentsr
r
rr!'s

zTestParser.fake_opencCs.t�ddd|j|jg�}|�|d|j�dS)N�--validatorz2jsonschema.tests.test_cli.TestParser.FakeValidator�
--instance�	validator)r�
parse_argsr%r&�assertIsr�rZ	argumentsr
r
r�2test_find_validator_by_fully_qualified_object_name0s��z=TestParser.test_find_validator_by_fully_qualified_object_namecCs,t�ddd|j|jg�}|�|dt�dS)Nr,rr-r.)rr/r%r&r0rr1r
r
r�!test_find_validator_in_jsonschema;s��z,TestParser.test_find_validator_in_jsonschemaN)rrrrrr%r&r#r!r2r3r
r
r
rrs	rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestCLIcCsnt�t�}}|�t��Btjtdddiddiddigidgd	d
�||d�Wd�n1s`0YdS)NZanyOfZminimum��type�string�requiredT��{error.message}�r.rZ	instancesZerror_format��stdout�stderr)rZassertRaisesrr�runr)rr=r>r
r
r�#test_draft3_schema_draft4_validatorGs ����z+TestCLI.test_draft3_schema_draft4_validatorcCsXt�t�}}tjt�idgdd�||d�}|�|���|�|���|�|d�dS)Nr9r:r;r<r)rrr?r�assertFalse�getvalue�assertEqual)rr=r>�	exit_coder
r
r�test_successful_validation[s��
z"TestCLI.test_successful_validationcCsjtddd�}t�t�}}tjt|g�idgdd�||d�}|�|���|�|��d�|�|d�dS)NzI am an error!r9�rz"{error.instance} - {error.message}r;r<z1 - I am an error!�rrrr?rrArBrC)r�errorr=r>rDr
r
r�test_unsuccessful_validationks��
z$TestCLI.test_unsuccessful_validationcCs�tddd�tddd�g}tddd�g}t�t�}}tjt||�iddgdd�||d	�}|�|���|�|��d
�|�|d�dS)N�9r9rF�8�7�z#{error.instance} - {error.message}	r;r<z1 - 9	1 - 8	2 - 7	rG)rZfirst_errorsZ
second_errorsr=r>rDr
r
r�/test_unsuccessful_validation_multiple_instances|s"

���
z7TestCLI.test_unsuccessful_validation_multiple_instancescCs8tjtjdddgtjd�}|�d���}|�|t�dS)Nz-m�
jsonschemaz	--version)r>zutf-8)	�
subprocessZcheck_output�sys�
executableZSTDOUT�decode�striprCr)r�versionr
r
r�test_version�s�zTestCLI.test_versionN)rrrr@rErIrNrVr
r
r
rr4Fs
r4)Zunittestrr(rPrQrOrrrrZjsonschema.compatrZjsonschema.exceptionsrrrr4r
r
r
r�<module>s)

© 2025 Cubjrnet7