bgwddlmZddlZddlZddlZddlmZmZmZm Z ddl m Z ddl m Z dZGddeZGd d eZdS) )TestCaseN)Draft4ValidatorValidationErrorcli __version__)NativeIO) SchemaErrorcjttGfddt}|S)Nc&eZdZdZfdZdZdS)%fake_validator..FakeValidatorcdSN)selfargskwargss j/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/jsonschema/tests/test_cli.py__init__z.fake_validator..FakeValidator.__init__ Dc4rSgSr)pop)rinstanceerrorss r iter_errorsz1fake_validator..FakeValidator.iter_errorss $zz||#IrcdSrr)rschemas r check_schemaz2fake_validator..FakeValidator.check_schemarrN)__name__ __module__ __qualname__rrr)rsr FakeValidatorr sL              rr")listreversedobject)rr"s` rfake_validatorr& sT (6"" # #F           rcBeZdZeZdZdZdZdZdZ dZ dS) TestParserzfoo.jsonz schema.jsoncj|jt_|ttddS)Nopen) fake_openrr* addCleanupdelattr)rs rsetUpzTestParser.setUp#s'> f-----rc||jkrd}n6||jkri}n(|d|t t j|S)Nz What is {!r}) instance_file schema_filefailformatrjsondumps)rpathcontentss rr+zTestParser.fake_open'sd 4% % %HH T% % %HH IIn++D11 2 2 2 8,,---rctjddd|j|jg}||d|jdS)N --validatorz2jsonschema.tests.test_cli.TestParser.FakeValidator --instance validator)r parse_argsr1r2assertIsr"r argumentss r2test_find_validator_by_fully_qualified_object_namez=TestParser.test_find_validator_by_fully_qualified_object_name0sPNDd0     i ,d.@AAAAArctjddd|j|jg}||dt dS)Nr:rr;r<)rr=r1r2r>rr?s r!test_find_validator_in_jsonschemaz,TestParser.test_find_validator_in_jsonschema;sMN0d0     i ,o>>>>>rN) rr r!r&r"r1r2r.r+rArCrrrr(r(sj"N$$MMK...... B B B?????rr(c,eZdZdZdZdZdZdZdS)TestCLIc tt}}|t5tjt dddiddiddigidgd d || ddddS#1swxYwYdS) NanyOfminimumtypestringrequiredT{error.message}r<r instances error_formatstdoutstderr)r assertRaisesr rrunr)rrSrTs r#test_draft3_schema_draft4_validatorz+TestCLI.test_draft3_schema_draft4_validatorGs!XZZ   { + +   G!0&O#X.'."#$$5                        s.A22A69A6cXtt}}tjtidgdd||}||||||ddS)NrMrNrOrRr)rrrVr& assertFalsegetvalue assertEqual)rrSrT exit_codes rtest_successful_validationz"TestCLI.test_successful_validation[s!XZZG+--S 1         **+++ **+++ A&&&&&rctdd}tt}}tjt |gidgdd||}||||d||ddS)NzI am an error!rMrz"{error.instance} - {error.message}rOrRz1 - I am an error!rrrrVr&rYrZr[)rerrorrSrTr\s rtest_unsuccessful_validationz$TestCLI.test_unsuccessful_validationks 01===!XZZG+UG44S D         **+++ **,@AAA A&&&&&rctddtddg}tddg}tt}}tjt ||iddgdd|| }||||d ||ddS) N9rMr_87z#{error.instance} - {error.message} rOrRz1 - 9 1 - 8 2 - 7 r`)r first_errors second_errorsrSrTr\s r/test_unsuccessful_validation_multiple_instancesz7TestCLI.test_unsuccessful_validation_multiple_instances|s C! , , , C! , , , )q999: !XZZG+L-HHV F         **+++ **,CDDD A&&&&&rctjtjdddgtj}|d}||tdS)Nz-m jsonschemaz --version)rTzutf-8) subprocess check_outputsys executableSTDOUTdecodestripr[r)rversions r test_versionzTestCLI.test_versionsh) ^T< =$   ..))//11 +.....rN)rr r!rWr]rbrjrurrrrErEFs_(''' '''"'''*/////rrE)unittestrr5rmrorlrrrrjsonschema.compatrjsonschema.exceptionsr r&r(rErrrrys  IIIIIIIIIIII&&&&&&------$&?&?&?&?&?&?&?&?RQ/Q/Q/Q/Q/hQ/Q/Q/Q/Q/r