U !`@sddlZddlZddlmZmZmZddlmZddlm Z ddZ ddZ d d Z d d Z d dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$ZdS)%N) Validatorerrors SchemaError)UnvalidatedSchemaassert_schema_errorc Cs2t}tjttjd|iddW5QRXdS)Nmatchschema)rpytestraisesrrZSCHEMA_ERROR_MISSING) validatorrK/opt/alt/python38/lib/python3.8/site-packages/cerberus/tests/test_schema.pytest_empty_schema src Cs4d}tj|}tjt|d ||_W5QRXdS)Nz!this string should really be dictr)rZSCHEMA_ERROR_DEFINITION_TYPEformatr r rr )rr msgrrrtest_bad_schema_types rc Cs8d}|ddddiiii}tt ||_W5QRXdS)Nfoor bartypeZstrong)r r rr )rfieldr rrrtest_bad_schema_type_fields rc Cs6d}tjtt|ddddii|_W5QRXdS)Nz({'foo': [{'unknown': ['unknown rule']}]}rrunknownZrule)r r rreescaper rrrrrtest_unknown_rule src CsFtdddgigi}tjtt|ddddii|_W5QRXdS)NrrzUnsupported types: unknownrrstrr r rrrr rrrrtest_unknown_type&sr!c Cs@d}t|dgi}tjtt|d|di|_W5QRXdS)Nnamezmust be of dict typerzthis should really be a dictr)rrrrrrtest_bad_schema_definition,sr#cCsddddiii}ti|dS)Nranyofrstringrr rrrtest_bad_of_rules3sr&cCs$dddddigii}ti|dS)Nrr$coercecSs|SNrxrrr9zBtest_normalization_rules_are_invalid_in_of_rules..rr rrr0test_normalization_rules_are_invalid_in_of_rules8sr-cCs\ddddddiigigdi}tddi|ddddddiigigd i}tddi|dS) Ndocdictr ZparamrZnumber)rr$zthis is my document)rZallofrr rrr test_anyof_allof_schema_validate=sr0cCs&tdddii}t|jdks"tdS)Nrrr%z{'foo': {'type': 'string'}})rreprr AssertionError)vrrr test_reprKsr4cCstddtii}t|j}tdddii}|d7}t|j|ksDttddtii}t|j|ksftd}||ks~td|dS)NZfoozifixr'rZintegeraThere's an unexpected high amount (%s) of cached valid definition schemas. Unless you added further tests, there are good chances that something is wrong. If you added tests with new schemas, you can try to adjust the variable `max_cache_size` according to the added schemas.)rintlenZ_valid_schemasr2)r3Z cache_sizeZmax_cache_sizerrrtest_validated_schema_cachePs  r9cCsFdddddgiii}t|}|jdddddiddigiksBtdS)NZdetroitr Z anyof_regexz^AladdinzSane$r$Zregexrr r2)r r3rrrtest_expansion_in_nested_schemafs  r;cCst}|}||kstdSr()rcopyr2)r Z schema_copyrrr%test_unvalidated_schema_can_be_copiednsr=cCsdd}ddddiddidddd iid |id iigd d }t|}|jddddiddiddddiid|idiigd d kstdS)NcSsdSr(rrvalueerrorrrr check_withvsz=test_deprecated_rule_names_in_valueschema..check_withr/rr%)r keyschema valueschema)rrClistrBrrC)ritems)Zfield_1Zfield_2)r keysrules valuesrules)rrGrFrArGr:)rAr rrrr)test_deprecated_rule_names_in_valueschemaus:  rHcCsNdd}dd}dd||gii}t|}|jddd|id|igiiksJtdS) NcSsdSr(rr>rrrrsz"test_anyof_check_with..foocSsdSr(rr>rrrrsz"test_anyof_check_with..barrZanyof_check_withr$rAr:)rrr rrrrtest_anyof_check_withsrIcCstdddddiddS)NrcSs|Sr(rr)rrrr+r,z3test_rulename_space_is_normalized..r%)zdefault setterrr )rrrrr!test_rulename_space_is_normalizedsrJ)rr ZcerberusrrrZcerberus.schemarZcerberus.testsrrrrrr!r#r&r-r0r4r9r;r=rHrIrJrrrrs(  -