U !`V.@s~ddlmZmZddlmZejZddZddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZdS)) Validatorerrors) assert_failcCs:tdddiid}ddi|_|dtjd|jd}dS)Nfootypestringschema*r)rdocument_errorrBAD_TYPE_errorsverrorrK/opt/alt/python38/lib/python3.8/site-packages/cerberus/tests/test_errors.py test__error_1 s   rcCsBtddddiiid}dddii|_|dtjd|jd }dS) Nr keysrulesrintegerr0barrr)rr r rZ KEYSRULESrrrrr test__error_2s  rcCsTdddddddg}tdd |iid }dd i|_|dtjd dd |jd}dS)Nrz 0x[0-9a-f]{2})rregexrr)rminmaxroneofrZ0x100r)rr r rONEOFr)Zvalidsrrrrr test__error_3*s   r!cCs>dddddiiii}dddii}t|||d|j}|j}dS)Nrr rrrr validatorrdocument_error_treeschema_error_treer#r r Z d_error_treeZ s_error_treerrrtest_error_tree_from_subschema>s  r(cCs>ddddiddigii}dgi}t|||d|j}|j}dS)NrZanyofrrrr"r$r'rrrtest_error_tree_from_anyofWs r)cCsdd}ddiddiddd d d gd id }ddddddddgd }t|||d|j}|j}tddtjjdddd}tddtjjdd dd}tddtjjdddd}tddtjjdd dd} ||ddj|| ||dddj||||dddj|| tdd tjjdd dd} td!d"tjjd#d$dd} td!d%tjjdd dd} td!d&tjjdd dd} ||d'd(j| | | dS))NcWs(|D]}|D]}||kr qq tqdS)N)AssertionError)rZref_errsZref_errrrrrassert_has_all_errorsjs z6test_nested_error_paths..assert_has_all_errorsrrrz[a-z]*)r valuesrulesr rz[a-z]*$z[A-Z]*)rZ oneof_regex)a_dicta_listabcZaBcZabC)ronerthreerr")r-r0)r-rrr0r)r-r)r-r,r)r-r1r1r-rr,)r.r)r.r r)r.r)r.r rrZirrelevant_at_this_point)r.r rrr)r.r rrr.r) rr%r&ValidationErrorrr codeZREGEX_MISMATCHr )r#r+r r ZdetsetZref_err1Zref_err2Zref_err3Zref_err4Zref_err5Zref_err6Zref_err7Zref_err8rrrtest_nested_error_pathsgs          r6cCsdGdddt}|}|jdddddidd dii|_|ddd iiddd d gigi}dS) Nc@seZdZddZdS)zEtest_path_resolution_for_registry_references..CustomValidatorcSs tddS)Nz Failed coerce) Exception)selfvaluerrr_normalize_coerce_customsz^test_path_resolution_for_registry_references..CustomValidator._normalize_coerce_customN)__name__ __module__ __qualname__r:rrrrCustomValidatorsr>Zschema1ZchildZbooleanZcustom)rZcoerceparentr [zmust be of boolean typez.field 'child' cannot be coerced: Failed coerce)rZschema_registryaddr Zvalidate)r>r#Zexpectedrrr,test_path_resolution_for_registry_referencess"  rBcCs6dddddiidi}dddii}t|}||dS)NrdictrrZnumber)rr Zzero)r)r r r#rrr test_queriess  rDc Cst}gi}}|tdgdgddddd|d|jdgi|tdgdgddd d d|d|jdjd d gi|td dgd d dgddddd|d d|jdjdd gigi|td dgd d dgddddd|d dd|jdjdd dS)NrcreadonlyTrrBrr2r)Z constraintZzapr $rrAru ^p[äe]ng$Zboomr)rZBasicErrorHandlerappendr3updateZmessagesformat)Zhandlerrrefrrrtest_basic_error_handler*s> $ $rNcCsddddiddigii}ddi}ddtj|dddf}|d |d d tjdf|d |d d tjdfg}t|||||d dS)NrrrrrgQk7@)rrrrr2)rr)r2r)r#r child_errors)rr r r)r#r r rrOrrrtest_basic_error_of_errorsMsrPcCs0dddddiddigdi|_|ddgidS)NZ test_listlistTrr)rZrequireditemsZtestrr"rrrtest_wrong_amount_of_itemscsrSN)ZcerberusrrZcerberus.testsrr3rrr!r(r)r6rBrDrNrPrSrrrrs #