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) NZanyOfZminimumtypestringZrequiredTz{error.message})r*r instances error_format)stdoutstderr)rZ assertRaisesrrrunr)r r7r8r r r #test_draft3_schema_draft4_validatorGs  z+TestCLI.test_draft3_schema_draft4_validatorcCsXtt}}tjtidgdd||d}||||||ddS)Nr4z{error.message})r*rr5r6)r7r8r)rrr9r assertFalsegetvalue assertEqual)r r7r8 exit_coder r r test_successful_validation[sz"TestCLI.test_successful_validationcCsjtddd}tt}}tjt|gidgdd||d}||||d||ddS)NzI am an error!r4)rz"{error.instance} - {error.message})r*rr5r6)r7r8z1 - I am an error!)rrrr9rr;r<r=)r errorr7r8r>r r r test_unsuccessful_validationks z$TestCLI.test_unsuccessful_validationcCstdddtdddg}tdddg}tt}}tjt||iddgdd||d }||||d ||ddS) N9r4)r87z#{error.instance} - {error.message} )r*rr5r6)r7r8z1 - 9 1 - 8 2 - 7 )rrrr9rr;r<r=)r Z first_errorsZ second_errorsr7r8r>r r r /test_unsuccessful_validation_multiple_instances|s z7TestCLI.test_unsuccessful_validation_multiple_instancescCs8tjtjdddgtjd}|d}||tdS)Nz-m jsonschemaz --version)r8zutf-8) subprocess check_outputsys executableSTDOUTdecodestripr=r)r versionr r r test_versions   zTestCLI.test_versionN)rrrr:r?rArFrPr r r r r0Fs r0)Zunittestrr&rHrJrGrrrrZjsonschema.compatrZjsonschema.exceptionsrrrr0r r r r s   )