Viewing File: /opt/alt/python38/lib/python3.8/site-packages/cerberus/tests/__pycache__/test_schema.cpython-38.pyc

U

!`@sddlZddlZddlmZmZmZddlmZddlm	Z	ddZ
ddZd	d
ZddZ
d
dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$ZdS)%N)	ValidatorerrorsSchemaError)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)rrmsgrrrtest_bad_schema_typesrc	Cs8d}|ddddiiii}tt||_W5QRXdS)NfoorbartypeZstrong)rr
rr)rfieldrrrrtest_bad_schema_type_fieldsrc	Cs6d}tjtt|ddddii|_W5QRXdS)Nz({'foo': [{'unknown': ['unknown rule']}]}rrunknownZrule)rr
rreescaperrrrrrtest_unknown_rule src	CsFtdddgigi}tjtt|ddddii|_W5QRXdS)NrrzUnsupported types: unknownrrstrrr
rrrrrrrrtest_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|SNrxrrr<lambda>9zBtest_normalization_rules_are_invalid_in_of_rules.<locals>.<lambda>rr
rrr0test_normalization_rules_are_invalid_in_of_rules8sr-cCs\ddddddiigigdi}tddi|ddddddiigigd	i}tddi|dS)
NdocdictrZparamrZnumber)rr$zthis is my document)rZallofrr
rrr test_anyof_allof_schema_validate=sr0cCs&tdddii}t|jdks"tdS)Nrrr%z{'foo': {'type': 'string'}})rreprrAssertionError)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)NZdetroitrZanyof_regexz^AladdinzSane$r$Zregexrrr2)rr3rrrtest_expansion_in_nested_schemafsr;cCst}|}||kstdSr()rcopyr2)rZschema_copyrrr%test_unvalidated_schema_can_be_copiednsr=cCsdd}ddddiddidddd	iid
|idiigdd
}t|}|jddddiddiddddiid|idiigdd
kstdS)NcSsdSr(rrvalueerrorrrr
check_withvsz=test_deprecated_rule_names_in_valueschema.<locals>.check_withr/rr%)r	keyschemavalueschema)rrClistrBrrC)ritems)Zfield_1Zfield_2)r	keysrulesvaluesrules)rrGrFrArGr:)rArrrrr)test_deprecated_rule_names_in_valueschemaus:		rHcCsNdd}dd}dd||gii}t|}|jddd|id|igiiksJtdS)	NcSsdSr(rr>rrrrsz"test_anyof_check_with.<locals>.foocSsdSr(rr>rrrrsz"test_anyof_check_with.<locals>.barrZanyof_check_withr$rAr:)rrrrrrrtest_anyof_check_withsrIcCstdddddiddS)NrcSs|Sr(rr)rrrr+r,z3test_rulename_space_is_normalized.<locals>.<lambda>r%)zdefault setterrr
)rrrrr!test_rulename_space_is_normalizedsrJ)rrZcerberusrrrZcerberus.schemarZcerberus.testsrrrrrr!r#r&r-r0r4r9r;r=rHrIrJrrrr<module>s(-
Back to Directory File Manager