B pSew@sddlmZddlZddlZddlZddlmZmZmZm Z ddl m Z ddl m Z ddZGdd d eZGd d d eZdS) )TestCaseN)Draft4ValidatorValidationErrorcli __version__)NativeIO) SchemaErrorcs$ttGfdddt}|S)Ncs(eZdZddZfddZddZdS)z%fake_validator..FakeValidatorc_sdS)N)selfargskwargsr r J/opt/alt/python37/lib/python3.7/site-packages/jsonschema/tests/test_cli.py__init__sz.fake_validator..FakeValidator.__init__csr SgS)N)pop)r instance)errorsr r iter_errorssz1fake_validator..FakeValidator.iter_errorscSsdS)Nr )r schemar r r check_schemasz2fake_validator..FakeValidator.check_schemaN)__name__ __module__ __qualname__rrrr )rr r FakeValidators r)listreversedobject)rrr )rr fake_validator s  rc@s:eZdZeZdZdZddZddZddZ d d Z d S) TestParserzfoo.jsonz schema.jsoncCs|jt_|ttddS)Nopen) fake_openrrZ addCleanupdelattr)r r r r setUp#szTestParser.setUpcCs>||jkrd}n ||jkr i}n|d|tt|S)Nz What is {!r}) instance_file schema_fileZfailformatrjsondumps)r pathcontentsr r r r's   zTestParser.fake_opencCs.tddd|j|jg}||d|jdS)Nz --validatorz2jsonschema.tests.test_cli.TestParser.FakeValidatorz --instance validator)r parse_argsr#r$assertIsr)r argumentsr r r 2test_find_validator_by_fully_qualified_object_name0s  z=TestParser.test_find_validator_by_fully_qualified_object_namecCs,tddd|j|jg}||dtdS)Nz --validatorrz --instancer*)rr+r#r$r,r)r r-r r r !test_find_validator_in_jsonschema;s  z,TestParser.test_find_validator_in_jsonschemaN) rrrrrr#r$r!rr.r/r r r r rs  rc@s4eZdZddZddZddZddZd d Zd S) TestCLIc CsZtt}}|t8tjtdddiddiddigidgd d ||d WdQRXdS) NZanyOfZminimumtypestringrequiredTz{error.message})r*r instances error_format)stdoutstderr)rZ assertRaisesrrrunr)r r8r9r r r #test_draft3_schema_draft4_validatorGs  z+TestCLI.test_draft3_schema_draft4_validatorcCsXtt}}tjtidgdd||d}||||||ddS)Nr5z{error.message})r*rr6r7)r8r9r)rrr:r assertFalsegetvalue assertEqual)r r8r9 exit_coder r r test_successful_validation[sz"TestCLI.test_successful_validationcCsjtddd}tt}}tjt|gidgdd||d}||||d||ddS)NzI am an error!r5)rz"{error.instance} - {error.message})r*rr6r7)r8r9z1 - I am an error!)rrrr:rr<r=r>)r errorr8r9r?r r r test_unsuccessful_validationks z$TestCLI.test_unsuccessful_validationcCstdddtdddg}tdddg}tt}}tjt||iddgdd||d }||||d ||ddS) N9r5)r87z#{error.instance} - {error.message} )r*rr6r7)r8r9z1 - 9 1 - 8 2 - 7 )rrrr:rr<r=r>)r Z first_errorsZ second_errorsr8r9r?r r r /test_unsuccessful_validation_multiple_instances|s z7TestCLI.test_unsuccessful_validation_multiple_instancescCs8tjtjdddgtjd}|d}||tdS)Nz-m jsonschemaz --version)r9zutf-8) subprocess check_outputsys executableSTDOUTdecodestripr>r)r versionr r r test_versions   zTestCLI.test_versionN)rrrr;r@rBrGrQr r r r r0Fs r0)Zunittestrr&rIrKrHrrrrZjsonschema.compatrZjsonschema.exceptionsrrrr0r r r r s   )