__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���gHS���SSKJr SSKJrJr SSKJr SSKJr SSK	J
r
 SSKJr SSK
JrJr SSKJr SS	KrSS	KrSS	KrSS	KrSS	KrSS
KJrJr SSKJr SS	KrSSKJrJ r J!r!J"r"J#r# S
r$"SS\5r%"SS\5r&"SS\5r'"SS5r("SS\(5r)"SS5r*"SS\*\)\5r+"SS\*\)\5r,"SS\)\5r-"S S!\)\5r."S"S#\)\5r/"S$S%\)\5r0"S&S'\5r1"S(S)\5r2"S*S+\5r3"S,S-\5r4"S.S/\5r5"S0S1\5r6S2r7\"S3S455r8\"S5S655r9g	)7�)�annotations)�deque�
namedtuple)�contextmanager)�Decimal)�BytesIO)�Any)�TestCase�mock)�pathname2urlN)�define�field)�DRAFT202012)�
FormatChecker�TypeChecker�
exceptions�	protocols�
validatorsc#�r# �UH-nURSS5 [R"S0UD6v� M/ g7f)N�messagezYou told me to fail!�)�
setdefaultr�ValidationError)�	validator�errors�instance�schema�eachs     �B/usr/lib/python3/dist-packages/jsonschema/tests/test_validators.py�failr s2��������	�#9�:��(�(�0�4�0�0��s�57c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrg)�TestCreateAndExtend�#c���URUR[R[	[R55 URUR[R
[	[R
55 SS0UlS[0Ul[5Ul	[R"URURURS9Ulg)N�$idzsome://meta/schemar )�meta_schemar�type_checker)�
addCleanup�assertEqualr�
_META_SCHEMAS�dict�_VALIDATORSr&r rr'�create�	Validator��selfs r�setUp�TestCreateAndExtend.setUp$s����������$�$���)�)�*�	
�
	
�������"�"���'�'�(�	
�"�#7�8���!�4�.���'�M���#�*�*��(�(�����*�*�
���c���URURRURRURR4UR
URUR45 g�N)r)r.�
VALIDATORS�META_SCHEMA�TYPE_CHECKERrr&r'r/s r�
test_attrs�TestCreateAndExtend.test_attrs9s\��������)�)����*�*����+�+�
�
���� � ��!�!��
	
r3c�b�S/0nURURU5RU5 g)Nr )r)r.r�r0rs  r�	test_init�TestCreateAndExtend.test_initFs*���"����������/�6�6��?r3c��S/0nURU5n[URS55nURU/5 g)Nr �hello)r.�list�iter_errorsr)�r0rrrs    r�test_iter_errors_successful�/TestCreateAndExtend.test_iter_errors_successfulJs>���"����N�N�6�*�	��i�+�+�G�4�5�������$r3c
�L�SSS0/0nURU5n[R"SSUSSS0/[S/5S9n[	URS55nUR
[U5S5 UR
USR5UR55 g)Nr rzWhoops!�goodbye)rrr�validator_value�schema_path�r)	r.rrrrArBr)�len�	_contents)r0rr�expected_errorrs     r�test_iter_errors_one_error�.TestCreateAndExtend.test_iter_errors_one_errorQs����I�y�1�2�3���N�N�6�*�	�#�3�3�����'��3�4��v�h��

���i�+�+�I�6�7������V��a�(�������,�,�.��0H�0H�0J�Kr3c��SSS0SSS.SS0/0nURU5n[URS55nUR[	U5S	5 g)
Nr r�FirstzSecond!�asdf)rr�ThirdrG�)r.rArBr)rKrCs    r� test_iter_errors_multiple_errors�4TestCreateAndExtend.test_iter_errors_multiple_errorsbsb����G�$�%�F�;��G�$��
���N�N�6�*�	��i�+�+�I�6�7������V��a�(r3c�J�[R"SS0SS9nUR[RRS5 UR[R
RS5 UR
URS5 UR
URS5 g)Nr%�	something�
my version�r&�version�MyVersionValidator)	rr-r(r*�popr,r)�__name__�__qualname__�r0r.s  r�.test_if_a_version_is_provided_it_is_registered�BTestCreateAndExtend.test_if_a_version_is_provided_it_is_registeredos����%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A�����+�+�-A�B�����/�/�1E�Fr3c��[R"SS0SS9nUR[RRS5 UR[R
RS5 UR
[U"055S5 g)Nr%rXrYrZz2MyVersionValidator(schema={}, format_checker=None))rr-r(r*r]r,r)�reprr`s  r�	test_repr�TestCreateAndExtend.test_reprysp���%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A������2���@�	
r3c�D�[R"SS0SS9nUR[RRS5 UR[R
RS5 UR
[U"S[[S55055S5 g)Nr%rXrYrZ�ai�zNMyVersionValidator(schema={'a': [0, 1, 2, 3, 4, 5, ...]}, format_checker=None))
rr-r(r*r]r,r)rdrA�ranger`s  r�test_long_repr�"TestCreateAndExtend.test_long_repr�s����%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A������C��e�D�k�!2�3�4�5�'�	
r3c�n�[R"0S9nUR[U"055S5 g)N�r&z)Validator(schema={}, format_checker=None))rr-r)rdr`s  r�test_repr_no_version�(TestCreateAndExtend.test_repr_no_version�s/���%�%�"�5�	������2���7�	
r3c��[R"SS0SS9nUR[RRS5 UR[R
RS5 UR
URS5 g)Nr%rXzfoo-barrZ�FooBarValidator)rr-r(r*r]r,r)r_r`s  r�-test_dashes_are_stripped_from_validator_names�ATestCreateAndExtend.test_dashes_are_stripped_from_validator_names�sj���%�%���,��
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�I�>�����/�/�1B�Cr3c��[[R5n[R"SS0S9 UR	[RU5 g)N�idrm)r+rr*r-r))r0�originals  r�6test_if_a_version_is_not_provided_it_is_not_registered�JTestCreateAndExtend.test_if_a_version_is_not_provided_it_is_not_registered�s:���
�0�0�1�����t�T�l�3�����1�1�8�<r3c�&�SnSU0n[R"USSS9 UR[RRU5 UR[R
RS5 UR
U[R5 g)N�meta schema idrurYc�&�URSS5$�Nru���get��ss r�<lambda>�MTestCreateAndExtend.test_validates_registers_meta_schema_id.<locals>.<lambda>����A�E�E�$��Or3�r&r[�id_of�rr-r(r*r]r,�assertIn�r0�meta_schema_key�my_meta_schemas   r�'test_validates_registers_meta_schema_id�;TestCreateAndExtend.test_validates_registers_meta_schema_id�sr��*����0�����&� �+�	
�
	
���
�0�0�4�4�o�F����
�.�.�2�2�L�A��
�
�o�z�'?�'?�@r3c�"�SnSU0n[R"USS9 UR[RRU5 UR[R
RS5 UR
U[R5 g)N�meta schema $idr%rYrZr�r�s   r�.test_validates_registers_meta_schema_draft6_id�BTestCreateAndExtend.test_validates_registers_meta_schema_draft6_id�so��+����1�����&� �	
�	
���
�0�0�4�4�o�F����
�.�.�2�2�L�A��
�
�o�z�'?�'?�@r3c�^�[R"0SS9mUR[U4SjS/4SSSSS	04S
4555 g)Nr�r&rc3�R># �UHupT"05RX!S9v� M g7f))r�typeN)�is_type)�.0r�rr.s   �r�	<genexpr>�@TestCreateAndExtend.test_create_default_types.<locals>.<genexpr>�s0�����'�N�D��"�
�%�%�x�%�C�'�s�$'�array)�booleanT)�integer�)�nullN)�numberg(@�object)�string�foo)rr-�
assertTrue�allr`s @r�test_create_default_types�-TestCreateAndExtend.test_create_default_types�sW����%�%�"��D�	�������b�M�%�#�"�$��r�N�%�'��
�
	
r3c�X�[R"[RRSS00S.S9nUR	SS05 UR[R5 UR	05 SSS5 U"SS05RS5 g!,(df   N(=f)zY
One can create a validator class whose metaschema uses a different
dialect than itself.
r%�const)�$schema�notrmr��barN)	rr-�Draft202012Validatorr7�check_schema�assertRaisesr�SchemaError�validate�r0�NoEmptySchemasValidators  r�+test_check_schema_with_different_metaschema�?TestCreateAndExtend.test_check_schema_with_different_metaschema�s���#-�"3�"3�%�:�:�F�F�u�M���}��#
��	 �,�,�e�U�^�<�
�
�
�z�5�5�
6�#�0�0��4�7�	 ����/�8�8��?�7�
6�s�'B�
B)c���[R"SSS0/0S[0S9nUR[R
5 UR
05 SSS5 g!,(df   g=f)z�
A validator whose metaschema doesn't declare $schema defaults to its
own validation behavior, not the latest "normal" specification.
r rzMeta schema whoops!r�N)rr-r r�rr�r�r�s  r�<test_check_schema_with_different_metaschema_defaults_to_self�PTestCreateAndExtend.test_check_schema_with_different_metaschema_defaults_to_self�s]��#-�"3�"3��9�.C�"D�!E�F���~�#
���
�
�z�5�5�
6�#�0�0��4�7�
6�
6�s�A�
A)c��[URR5n[5n[R
"URSU0S9nUR
URURURURR4[XS9URRURRU45 g)N�new)r)r�)	r+r.r6r�r�extendr)r7r8)r0rvr��Extendeds    r�test_extend�TestCreateAndExtend.test_extend�s�������1�1�2���h���$�$��N�N��s�|�
��	
����#�#��$�$��%�%����)�)�	
��X�'����*�*����+�+��	�
	
r3c�N^�U4SjnSnSUS.n[R"UTRTRUS9nTRUR	UR
5U5 [R"U5nTRUR	UR
5U5 g)z;
Extending a validator preserves its notion of schema IDs.
c�Z>�URSTRRU55$)N�__test__)rr.�ID_OF)rr0s �rr��3TestCreateAndExtend.test_extend_idof.<locals>.id_ofs#����:�:�j�$�.�.�*>�*>�v�*F�G�Gr3zthe://correct/id/zthe://wrong/id/)r%r�)r&rr'r�N)rr-r'r)r�r7r�)r0r��
correct_idr&�Original�Deriveds`     r�test_extend_idof�$TestCreateAndExtend.test_extend_idof
s����	H�(�
�$�"�
���$�$�#�����*�*��	
��	
�������(<�(<�=�z�J��#�#�H�-��������w�':�':�;�Z�Hr3c��SSS00SSS.n[R"U5nURURS55 [R"[R5nURU"U5RS55 g)	zF
Extending a validator preserves its notion of applicable validators.
�testr�r�z#/$defs/testrJ)�$defs�$ref�maximum�%N)r�Draft4Validatorr��is_validr�)r0r�draft4r�s    r�!test_extend_applicable_validators�5TestCreateAndExtend.test_extend_applicable_validators sv���v�x�0�1�"��
���+�+�F�3���������+�,��#�#�J�$>�$>�?��������0�0��4�5r3)r.r&r'rN)r^�
__module__r_�__firstlineno__r1r9r=rDrNrUrarerjrnrrrwr�r�r�r�r�r�r�r��__static_attributes__rr3rr"r"#sn��
�*
�@�%�L�")�G�

�
�
�D�=�
A�A�
�"@�&5�
�,I�,6r3r"c�L�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8g7)8�TestValidationErrorMessagesi2c�2�URS[R5nURU5 U"U/UQ70UD6n[	URU55nUR
USU<3S9 UR[U5SSU<3S9 USR$)N�clszNo errors were raised for )�msgrJz"Expected exactly one error, found r)
r]r�_LATEST_VERSIONr�rArBr�r)rKr)r0rr�args�kwargsr�rrs        r�message_for�'TestValidationErrorMessages.message_for3s����j�j��
� :� :�;������ ���0��0��0�	��i�+�+�H�5�6������&@���$M��N������K�
�4�V�J�?�	�	
�
�a�y� � � r3c�L�URSSS0S9nURUS5 g�NrJr�r��rr�1 is not of type 'string'�r�r)�r0rs  r�test_single_type_failure�4TestValidationErrorMessages.test_single_type_failure@s-���"�"�A�v�x�6H�"�I������"=�>r3c�N�URSSS/0S9nURUS5 gr�r�r�s  r�test_single_type_list_failure�9TestValidationErrorMessages.test_single_type_list_failureDs/���"�"�A�v��z�6J�"�K������"=�>r3c�b�SnURSS[U50S9nURUS5 g)N)r�r�rJr�r�z#1 is not of type 'string', 'object')r�rAr))r0�typesrs   r�test_multiple_type_failure�6TestValidationErrorMessages.test_multiple_type_failureHs6��"���"�"�A�v�t�E�{�6K�"�L������"G�Hr3c�v�SSSS./0nURSU[RS9nURUS5 g)Nr��FoorT)�name�minimumrJ�rrr�z1 is not of type 'Foo'�r�r�Draft3Validatorr)�r0rrs   r�#test_object_with_named_type_failure�?TestValidationErrorMessages.test_object_with_named_type_failureMsK���E�a�8�9�:���"�"����*�*�#�
��
	
����":�;r3c�L�URSSS0S9nURUS5 g)NrJr��r�z1 is less than the minimum of 2r�r�s  r�test_minimum�(TestValidationErrorMessages.test_minimumVs,���"�"�A�y�!�n�"�E������"C�Dr3c�L�URSSS0S9nURUS5 g)NrJr�rr�z"1 is greater than the maximum of 0r�r�s  r�test_maximum�(TestValidationErrorMessages.test_maximumZs,���"�"�A�y�!�n�"�E������"F�Gr3c�|�SupSX00nURSS0U[RS9nURUS5 g�N�r�r��dependenciesr�r�r�z'foo' is a dependency of 'bar'r��r0�depend�onrrs     r� test_dependencies_single_element�<TestValidationErrorMessages.test_dependencies_single_element^sP��!�
�� �6�,�/���"�"��Q�Z���*�*�#�
��
	
����"B�Cr3c�z�SSS0/0nURSSU/0[RS9nURUS5 g)Nr�r�rTrJr�z+1 is not of type {'type': [{'minimum': 3}]}r�)r0r�rs   r�-test_object_without_title_type_failure_draft3�ITestValidationErrorMessages.test_object_without_title_type_failure_draft3hsT���)�Q��(�)���"�"���T�F�#��*�*�#�
��
	
����9�	
r3c�~�SupSX/00nURSS0U[RS9nURUS5 grr�rs     r�test_dependencies_list_draft3�9TestValidationErrorMessages.test_dependencies_list_draft3t�R��!�
�� �6�4�.�1���"�"��Q�Z���*�*�#�
��
	
����"B�Cr3c�~�SupSX/00nURSS0U[RS9nURUS5 gr�r�r�Draft7Validatorr)rs     r�test_dependencies_list_draft7�9TestValidationErrorMessages.test_dependencies_list_draft7~rr3c�n�URS//SS.[RS9nURSU5 g)Nr�F��items�additionalItemsr�z(2 was unexpected)�r�rr�r�r�s  r�#test_additionalItems_single_failure�?TestValidationErrorMessages.test_additionalItems_single_failure�s>���"�"��S��E�:��*�*�#�
��
	
�
�
�*�G�4r3c�p�UR/SQ/SS.[RS9nURSU5 g)N�rJr�rTFrr�z(1, 2, 3 were unexpected)rr�s  r�&test_additionalItems_multiple_failures�BTestValidationErrorMessages.test_additionalItems_multiple_failures�s<���"�"���E�:��*�*�#�
��
	
�
�
�1�7�;r3c�X�SnSS0nURUS0US9nURSU5 g)Nr��additionalPropertiesFr�r�z('foo' was unexpected)�r�r�)r0�
additionalrrs    r�(test_additionalProperties_single_failure�DTestValidationErrorMessages.test_additionalProperties_single_failure�s9���
�(�%�0���"�"�Z��O�F�"�K���
�
�.��8r3c���SS0nUR[RSS/5US9nUR[	S5U5 UR[	S5U5 URSU5 g)Nr!Fr�r�r�zwere unexpected))r�r+�fromkeysr�rdr�s   r�+test_additionalProperties_multiple_failures�GTestValidationErrorMessages.test_additionalProperties_multiple_failures�si��(�%�0���"�"��]�]�E�5�>�2��#�
��
	
�
�
�d�5�k�7�+��
�
�d�5�k�7�+��
�
�(�'�2r3c�T�SS0nURSS0US9nURSU5 g)Nr�r�r�r�r�z12 was expectedr"r�s   r�
test_const�&TestValidationErrorMessages.test_const�s;���2����"�"��U�^��#�
��	
�
�
�'��1r3c�x�SSS00nURS0//U[RS9nURUS5 g)N�containsr�r�r�r�z4None of [2, {}, []] are valid under the given schema)r�r�Draft6Validatorr)r�s   r�test_contains_draft_6�1TestValidationErrorMessages.test_contains_draft_6�sP���w��m�,���"�"���R�[���*�*�#�
��
	
����B�	
r3c��[SS9nURS5"S5 SS0nURSUUS9nUR[	S5U5 UR[	S5U5 URSU5 g)	Nr)�formats�thingc��g�NFr)�values rr��QTestValidationErrorMessages.test_invalid_format_default_message.<locals>.<lambda>�s��er3�format�bla)rr�format_checkerzis not a)r�checksr�r�rd)r0�checkerrrs    r�#test_invalid_format_default_message�?TestValidationErrorMessages.test_invalid_format_default_message�sz����+�����w�� 3�4��G�$���"�"���"�#�
��	
�
�
�d�5�k�7�+��
�
�d�7�m�W�-��
�
�j�'�*r3c��SSSS0SS0S.S.nURSS0U[RS	9nURUS
R	[S5[S5[S555 URSS
S.U[RS	9nURUSR	[S5[S5[S5[S555 g)Nr�Fr�r�)�^abc$�^def$)r�r!�patternProperties�zebra�{r�z,{} does not match any of the regexes: {}, {}rArBi�)rD�fishz.{}, {} do not match any of the regexes: {}, {}rF)r�rr�r)r9rdr�s   r�1test_additionalProperties_false_patternProperties�MTestValidationErrorMessages.test_additionalProperties_false_patternProperties�s���"�*/� &��1� &��1�(����"�"��s�^���*�*�#�
��
	
����:�A�A��W�
�t�G�}�d�7�m�
�	
��"�"�"�C�0���*�*�#�
��
	
����<�C�C��V��d�7�m�T�'�]�D��M�
�	
r3c�H�URSSS9nURUS5 g)NrXFr�z'False schema does not allow 'something'r�r�s  r�test_False_schema�-TestValidationErrorMessages.test_False_schema�s0���"�"� ��#�
��	
����"K�Lr3c�L�URSSS0S9nURUS5 g)NrT�
multipleOfr�r�z3 is not a multiple of 2r�r�s  r�test_multipleOf�+TestValidationErrorMessages.test_multipleOf�s5���"�"�� �!�$�#�
��	
����"<�=r3c�L�UR/SS0S9nURUS5 g)N�minItemsr�r�z[] is too shortr�r�s  r�
test_minItems�)TestValidationErrorMessages.test_minItems�s,���"�"�B�
�A��"�G������"3�4r3c�P�UR/SQSS0S9nURUS5 g)Nr�maxItemsr�r�z[1, 2, 3] is too longr�r�s  r�
test_maxItems�)TestValidationErrorMessages.test_maxItems�s,���"�"�I�z�1�o�"�N������"9�:r3c�V�UR/SQS00/S.S9nURUS5 g)N)rJr�r�F�r�prefixItemsr�z1Expected at most 2 items but found 1 extra: 'foo'r�r�s  r�test_prefixItems_with_items�7TestValidationErrorMessages.test_prefixItems_with_itemss<���"�"�"�"�B��8�<�#�
��	
����?�	
r3c�V�UR/SQS00/S.S9nURUS5 g)N�rJr�r��FrYr�z6Expected at most 2 items but found 2 extra: ['foo', 5]r�r�s  r�*test_prefixItems_with_multiple_extra_items�FTestValidationErrorMessages.test_prefixItems_with_multiple_extra_items
s<���"�"�%�"�B��8�<�#�
��	
����D�	
r3c�L�URSSS0S9nURUS5 g)Nr}�	minLengthr�r�z'' is too shortr�r�s  r�test_minLength�*TestValidationErrorMessages.test_minLengths5���"�"����#�#�
��	
����"3�4r3c�L�URSSS0S9nURUS5 g)N�abc�	maxLengthr�r�z'abc' is too longr�r�s  r�test_maxLength�*TestValidationErrorMessages.test_maxLengths5���"�"����#�#�
��	
����"5�6r3c�L�URSSS0S9nURUS5 g)N�bbb�patternz^a*$r�z'bbb' does not match '^a*$'r�r�s  r�test_pattern�(TestValidationErrorMessages.test_pattern"s5���"�"���v�&�#�
��	
����"?�@r3c�P�UR/SSS00S9nURUS5 g)Nr.r�r�r�z3[] does not contain items matching the given schemar�r�s  r�test_does_not_contain�1TestValidationErrorMessages.test_does_not_contain)s=���"�"����� 2�3�#�
��	
����A�	
r3c�V�URSS/SS0SS.S9nURUS5 g)	Nr�rJr�r�r��r.�minContainsr��MToo few items match the given schema (expected at least 2 but only 1 matched)r�r�s  r�test_contains_too_few�1TestValidationErrorMessages.test_contains_too_few3sC���"�"��Q�Z�!'�� 2�1�E�#�
��	
����
7�	
r3c�X�URSS/SS0SSS.S9nURUS	5 g)
Nr�rJr�r�r���r.ru�maxContainsr�rvr�r�s  r�&test_contains_too_few_both_constrained�BTestValidationErrorMessages.test_contains_too_few_both_constrained>sI���"�"��Q�Z�#�X�.� � ��#�
��	
����
�	
r3c�V�UR/SQSS0SS.S9nURUS5 g)N�r�r��bazr�r�r��r.r|r��:Too many items match the given schema (expected at most 2)r�r�s  r�test_contains_too_many�2TestValidationErrorMessages.test_contains_too_manyMs=���"�"�*�!'�� 2�1�E�#�
��	
����H�	
r3c�\�URS/S-SS0SSS.S9nURUS	5 g)
Nr�r_r�r�r�rzr{r�z:Too many items match the given schema (expected at most 4)r�r�s  r�'test_contains_too_many_both_constrained�CTestValidationErrorMessages.test_contains_too_many_both_constrainedWsI���"�"��W�q�[�#�X�.� � ��#�
��	
����H�	
r3c�L�URSSS0S9nURUS5 g)NrT�exclusiveMinimumr_r�z+3 is less than or equal to the minimum of 5r�r�s  r�test_exclusiveMinimum�1TestValidationErrorMessages.test_exclusiveMinimumes8���"�"��&��*�#�
��	
����9�	
r3c�L�URSSS0S9nURUS5 g)NrT�exclusiveMaximumr�r�z.3 is greater than or equal to the maximum of 2r�r�s  r�test_exclusiveMaximum�1TestValidationErrorMessages.test_exclusiveMaximumos1���"�"�A�7I�1�6M�"�N������<�	
r3c�N�UR0SS/0S9nURUS5 g)N�requiredr�r�z'foo' is a required propertyr�r�s  r�
test_required�)TestValidationErrorMessages.test_requiredvs/���"�"�B�
�U�G�7L�"�M������"@�Ar3c�V�URS00SSS/00S9nURUS5 g)Nr��dependentRequiredr�r�z'bar' is a dependency of 'foo'r�r�s  r�test_dependentRequired�2TestValidationErrorMessages.test_dependentRequiredzs@���"�"��R�[�'�%�%��)9�:�#�
��	
����"B�Cr3c�L�UR0SS0S9nURUS5 g)N�
minPropertiesr�r�z"{} does not have enough propertiesr�r�s  r�test_minProperties�.TestValidationErrorMessages.test_minProperties�s-���"�"�B���7K�"�L������"F�Gr3c�T�UR000S.SS0S9nURUS5 g)N)rh�b�c�
maxPropertiesr�r�z3{'a': {}, 'b': {}, 'c': {}} has too many propertiesr�r�s  r�test_maxProperties�.TestValidationErrorMessages.test_maxProperties�s?���"�"��B�R�0�#�Q�'�#�
��	
����A�	
r3c�N�UR0SS/0S9nURUS5 g)N�oneOfFr�z.{} is not valid under any of the given schemasr�r�s  r�test_oneOf_matches_none�3TestValidationErrorMessages.test_oneOf_matches_none�s2���"�"�B��%��7I�"�J������<�	
r3c�P�UR0SSS/0S9nURUS5 g)Nr�Tr�z${} is valid under each of True, Truer�r�s  r�test_oneOf_matches_too_many�7TestValidationErrorMessages.test_oneOf_matches_too_many�s1���"�"�B��$���7N�"�O������"H�Ir3c�V�SSS.nURSS/US9nURUS5 g)Nr�F�r��unevaluatedItemsr�r�r�z@Unevaluated items are not allowed ('foo', 'bar' were unexpected)r"r�s   r�test_unevaluated_items�2TestValidationErrorMessages.test_unevaluated_items�s7��!�u�=���"�"�U�E�N�6�"�J���
�
��N�	
r3c�R�SSS.nURSUS9nURUS5 g)Nr�Fr�r�r�z'foo' is not of type 'array'r�r�s   r�&test_unevaluated_items_on_invalid_type�BTestValidationErrorMessages.test_unevaluated_items_on_invalid_type�s2��!�u�=���"�"�E�&�"�A������"@�Ar3c�f�SSS00SS0S.nURSSSS.US	9nURUS
5 g)Nr�r�r�r�r���
properties�unevaluatedPropertiesr�r�r�z_Unevaluated properties are not valid under the given schema ('bar' was unevaluated and invalid)r�r�s   r�5test_unevaluated_properties_invalid_against_subschema�QTestValidationErrorMessages.test_unevaluated_properties_invalid_against_subschema�s_�� �6�8�"4�5�&-�r�]�
���"�"�����
�
#�
��	
����
2�	
r3c�X�SSS.nURSSS.US9nURUS5 g)	Nr�F�r�r�r�r��r�r�r�zEUnevaluated properties are not allowed ('bar', 'foo' were unexpected)r�r�s   r�&test_unevaluated_properties_disallowed�BTestValidationErrorMessages.test_unevaluated_properties_disallowed�sI��"�U�C���"�"�����#�
��	
����
-�	
r3c�R�SSS.nURSUS9nURUS5 g)Nr�Fr�r�r�z'foo' is not of type 'object'r�r�s   r�+test_unevaluated_properties_on_invalid_type�GTestValidationErrorMessages.test_unevaluated_properties_on_invalid_type�s2��"�U�C���"�"�E�&�"�A������"A�Br3c�X�0/SS.nUR/SQUS9nURUS5 g)NF�rZrr�r�z9Expected at most 1 item but found 2 extra: ['bar', 'baz']r�r�s   r�test_single_item�,TestValidationErrorMessages.test_single_item�s?��"$���6���"�"�*��#�
��	
����G�	
r3c�v�0/SS.nUR/SQU[RS9nURUS5 g)NFr�r�r�r�r�z<Additional items are not allowed ('bar', 37 were unexpected)rr�s   r�-test_heterogeneous_additionalItems_with_Items�ITestValidationErrorMessages.test_heterogeneous_additionalItems_with_Items�sH���4�E�:���"�"�'���*�*�#�
��
	
����J�	
r3c�X�0/SS.nUR/SQUS9nURUS5 g)NFr�r�r�z6Expected at most 1 item but found 2 extra: ['bar', 37]r�r�s   r�$test_heterogeneous_items_prefixItems�@TestValidationErrorMessages.test_heterogeneous_items_prefixItems�s?��"$���6���"�"�'��#�
��	
����D�	
r3c�X�0/SS.nUR/SQUS9nURUS5 g)NF)rZr�r�r�z=Unevaluated items are not allowed ('bar', 37 were unexpected)r�r�s   r�/test_heterogeneous_unevaluatedItems_prefixItems�KTestValidationErrorMessages.test_heterogeneous_unevaluatedItems_prefixItems�s?��"$��5�A���"�"�'��#�
��	
����K�	
r3c�^�S00SS.nUR0SSS.US9nURUS5 g	)
�;
Not valid deserialized JSON, but this should not blow up.
r�F)r�r!r�r��r�rhr�r�z?Additional properties are not allowed (37, 'a' were unexpected)Nr�r�s   r�2test_heterogeneous_properties_additionalProperties�NTestValidationErrorMessages.test_heterogeneous_properties_additionalProperties�sJ��"'���U�K���"�"��e��4��#�
��	
����M�	
r3c�^�S00SS.nUR0SSS.US9nURUS5 g	)
r�r�Fr�r�r�r�r�z@Unevaluated properties are not allowed (37, 'a' were unexpected)Nr�r�s   r�3test_heterogeneous_properties_unevaluatedProperties�OTestValidationErrorMessages.test_heterogeneous_properties_unevaluatedProperties	sJ��"'���e�L���"�"��e��4��#�
��	
����N�	
r3rN)9r^r�r_r�r�r�r�r�r�r�r�rr
r
rrrr$r(r+r0r>rGrJrNrRrVr[r`rdrirnrqrwr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr3rr�r�2s��!�?�?�I�
<�E�H�D�

�D�D�5�<�9�	3�2�

�
+�
�<M�>�5�;�
�
�5�7�A�
�	
�

�
�
�
�
�B�D�H�
�
�J�
�B�

�&

�C�
	
�

�	
�	
�
�
r3r�c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrg)�TestValidationErrorDetailsic�6�SnSSS0SS0/0n[R"U5n[URU55nUR	[U5S5 USnUR	URS5 UR	URUS5 UR	URU5 UR	URU5 URUR5 UR	UR[/55 UR	UR[/55 UR	UR[/55 UR	UR S	5 UR	UR"[S/55 UR	UR$[S/55 UR	UR&[S/55 UR	[UR(5S
5 [+UR(5upgUR	URS5 UR	URUSSS5 UR	URU5 UR	URUSS5 UR-URU5 UR	UR[/55 UR	UR[/55 UR	UR[/55 UR	UR S	5 UR	UR"[SS/55 UR	UR$[SS/55 UR	UR&[/SQ55 UR/UR(5 UR	URS5 UR	URUSSS5 UR	URU5 UR	URUSS5 UR-URU5 UR	UR[/55 UR	UR[/55 UR	UR[/55 UR	UR S	5 UR	UR"[SS/55 UR	UR$[SS/55 UR	UR&[/SQ55 UR	[UR(5S5 g)
Nr_�anyOfr��r�r�rJr�$r�)r�rr�)r�rJr�)rr�rArBr)rKrrHrr�assertIsNone�parent�pathr�
relative_path�
absolute_path�	json_pathrI�relative_schema_path�absolute_schema_path�context�
sorted_errors�assertIs�assertFalse�r0rrrr�e�e1�e2s        r�
test_anyOf�%TestValidationErrorDetails.test_anyOfs?������B����"��
���.�.�v�6�	��i�+�+�H�5�6������V��a�(��1�I��������g�.�����*�*�F�7�O�<�������X�.�������6�*����!�(�(�#��������r��+�������%��)�4�������%��)�4�������c�*��������w�i�(8�9�����/�/���y�1A�B�����/�/���y�1A�B�����Q�Y�Y���+��q�y�y�)���������y�1�����+�+�V�G�_�Q�-?�	�-J�K�������h�/�������F�7�O�A�$6�7��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������9�~�)>�?�����0�0�%��I��2G�H�����#�#�U�+B�%C�	
�	
������$�������v�.�����+�+�V�G�_�Q�-?��-G�H�������h�/�������F�7�O�A�$6�7��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������6�{�);�<�����0�0�%��F��2D�E�����0�0�%�8L�2M�N�����R�Z�Z��!�,r3c�"�SS0nSSS0SSSS/00S./0n[R"U5n[URU55nUR	[U5S5 US	nUR	URS5 UR	URUS5 UR	URU5 UR	URU5 URUR5 UR	UR[/55 UR	UR[/55 UR	UR[/55 UR	UR S
5 UR	UR"[S/55 UR	UR$[S/55 UR	UR&[S/55 UR	[UR(5S5 [+UR(5upgUR	URS5 UR	URUSS	S5 UR	URU5 UR	URUSS	5 UR-URU5 UR	UR[/55 UR	UR[/55 UR	UR[/55 UR	UR S
5 UR	UR"[S	S/55 UR	UR$[S	S/55 UR	UR&[/SQ55 UR/UR(5 UR	URS5 UR	URS/5 UR	URS5 UR	URSS/05 UR-URU5 UR	UR[S/55 UR	UR[S/55 UR	UR[S/55 UR	UR S5 UR	UR"[/S
Q55 UR	UR$[/S
Q55 UR	UR&[/SQ55 UR/UR(5 g)Nr�rJr�r�r��enumr��r�r�rr�)r�rr��$.foo)rJr�r�r�)r�rJr�r�r�)rr�rArBr)rKrrHrrr�r�r�rr�r�r�rIr�r�r�r�r�r�r�s        r�	test_type�$TestValidationErrorDetails.test_type`sE���1�:�����#�$�#(�6�A�3�-�"8���
���.�.�v�6�	��i�+�+�H�5�6������V��a�(��1�I��������f�-�����*�*�F�6�N�;�������X�.�������6�*����!�(�(�#��������r��+�������%��)�4�������%��)�4�������c�*��������v�h��8�����/�/���x��A�����/�/���x��A�����Q�Y�Y���+��q�y�y�)���������v�.�����+�+�V�F�^�A�->�v�-F�G�������h�/�������F�6�N�1�$5�6��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������6�{�);�<�����0�0�%��F��2D�E�����0�0�%�8K�2L�M�������$�������v�.�����+�+�a�S�1�������a�(�������V�a�S�M�2��
�
�b�i�i��#�������%���.�1�����)�)�5�%��>�:�����)�)�5�%��>�:�������w�/�����N�N�E�"B�C�	
�	
����#�#�U�+K�%L�	
�	
����#�#��:�;�	
�
	
������$r3c���SS/SSS.nSSS0S	S0S
/SQS.S
.0n[R"U5nURU5n[U5upVpxUR	UR
[
S/55 UR	UR
[
S/55 UR	UR
[
S/55 UR	UR
[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	UR[
S/55 UR	URS5 UR	URS5 UR	URS5 UR	URS5 UR	URS	5 UR	URS5 UR	URS5 UR	URS5 g)Nr�rJ��spam)r�r�r��quuxr�r�r�rQ�
)r�rz��)r�r�r�r�r�r��$.barz$.bazr�r�r�)rr�rBr�r)r�rr�r�r�r)	r0rrrrr�r��e3�e4s	         r�test_single_nesting�.TestValidationErrorDetails.test_single_nesting�sP���a�S��V�D�����)�"�A��#%�|�<��
���.�.�v�6�	��&�&�x�0��&�v�.����������%���.�1�������%���.�1�������%���.�1�������%���.�1�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�������w�/�������w�/�������w�/�������w�/�������z�2�������v�.�������y�1�������v�.r3c��SSSS/0S.S/nSSS/SSS	/0S
SS0S
S0S.S.S.S.S.n[R"U5nURU5n[U5upVpxp�UR	UR
[
/55 UR	UR
[
S/55 UR	UR
[
SS/55 UR	UR
[
/SQ55 UR	U	R
[
/SQ55 UR	U
R
[
SS/55 UR	URS5 UR	URS5 UR	URS5 UR	URS5 UR	U	RS5 UR	U
RS5 UR	UR[
S/55 UR	UR[
SS/55 UR	[UR5/SQ5 UR	[UR5/SQ5 UR	[U	R5/S Q5 UR	[U
R5/S!Q5 UR	URS5 UR	URS5 UR	URS5 UR	URS5 UR	U	RS
5 UR	U
RS5 g)"NrJr�r�r�r�r�r�r�rTr�r�TrQ)r�r�r�)r�rrr�)rJr�r�)rJr�r�r�r��$[0]z$[1].barz$[1].bar.barz$[1].bar.bazz$[1].foor�r)rr�r�r�)rr�r�r�r�r�)rr�r�r�r�rQ)rr�r�r�)rr�rBr�r)r�rr�rIrAr)r0rrrrr�r�r�r��e5�e6s           r�test_multiple_nesting�0TestValidationErrorDetails.test_multiple_nesting�s����q�%�!���6��?���!�8�,�"�Q��F�+� '�$.��#5�$.��?�'��	��
��"�.�.�v�6�	��&�&�x�0��!.�v�!6�����������%��)�,�������%���*�-�������%��E�
�"3�4�������%�(9�":�;�������%�(9�":�;�������%��E�
�"3�4�������s�+�������v�.�������z�2�������~�6�������~�6�������z�2���������x��9����������/@�)A�B�������� �"H�	
�	
������� �K�	
�	
������� �K�	
�	
������� �"H�	
�	
������v�.�������v�.�������v�.�������z�2�������z�2�������v�.r3c	�n�SSSSS/SS0SSS	S
00S.S.S
./00SS/SS	S
00S.nSSSSSSS00S.0S.0n[R"U5nURU5unURUR[S/55 URUR[/SQ55 URURS5 URunURUR[/SQ55 URUR[/SQ55 URURS5 URunURUR[/SQ55 URUR[/SQ55 URURS5 g)N�noder�r�r��childrenr�r��^.*$r�z#/definitions/node)r�rC)r�r)r�r�r��root)�definitionsr�r�r�rh�ab)r�r
r�z$.root)r
rrh)	r�r
r�rr�rrCr	r�z$.root.children.a)r
rrhrr)r�r
r�rr�rrCr	r�rr�rrCr	r�z$.root.children.a.children.ab)	rr�rBr)r�rr�r�r�)r0rrrr�r�r�s       r�test_recursive�)TestValidationErrorDetails.test_recursives����� (�%+�Z�$8�!'��%�)1�$*�(.�0D�-&�6"�)�	'�����*���!�F�,@�#A�B�1
��8
��� #� � &��#�%��
�
�
�� �.�.�v�6�	�
�
"�
"�8�
,���������%���/�:����
�"�"�E�*I�$J�	
�	
������h�/��i�i�������)�)�5�1J�+K�L�����#�#�U�
�&�	
�	
������':�;��j�j���������e�;��	
�
	
����#�#�U��&�	
�*	
������'F�Gr3c��SSS.nSSSS.0n[R"U5nURU5n[U5upVUR	UR
[
S/55 UR	UR
[
S/55 UR	URS	5 UR	URS
5 UR	URS5 UR	URS5 g)
Nr�r�rr!r�r_�r�r�r�r�r�r�r��	rr�rBr�r)r�rr�r�r0rrrrr�r�s       r�test_additionalProperties�4TestValidationErrorDetails.test_additionalPropertiesvs��� ��+��(�9��*K�L���.�.�v�6�	��&�&�x�0���v�&���������%���.�1�������%���.�1�������w�/�������w�/�������v�.�������y�1r3c��SSS.nSSS0SS0S.0n[R"U5nURU5n[U5upVUR	UR
[
S	/55 UR	UR
[
S
/55 UR	URS5 UR	URS5 UR	URS5 UR	URS5 g)
NrJr�rrCr�r�r�r_r�r�r�r�rrs       r�test_patternProperties�1TestValidationErrorDetails.test_patternProperties�s����Q�'�����)�!�1�~�"�
���.�.�v�6�	��&�&�x�0���v�&���������%���.�1�������%���.�1�������w�/�������w�/�������v�.�������y�1r3c��SS/n/SSS.S.n[R"U5nURU5n[U5upVUR	UR
[
S/55 UR	UR
[
S/55 UR	URS5 UR	URS	5 UR	URS
5 UR	URS5 g)Nr�rJr�r_rrrr�$[1]r�r�rrs       r�test_additionalItems�/TestValidationErrorDetails.test_additionalItems�s����1�:���(1�a�@�
��
�.�.�v�6�	��&�&�x�0���v�&���������%���*�-�������%���*�-�������v�.�������v�.�������v�.�������y�1r3c��/SQn0/SSS.S.n[R"U5nURU5n[U5upVUR	UR
[
S/55 UR	UR
[
S/55 UR	URS5 UR	URS	5 UR	URS
5 UR	URS5 g)N)r�r�rJr�r_rrrJr�rz$[2]r�r�rrs       r�test_additionalItems_with_items�:TestValidationErrorDetails.test_additionalItems_with_items�s���$���T�(1�a�@�
��
�.�.�v�6�	��&�&�x�0���v�&���������%���*�-�������%���*�-�������v�.�������v�.�������v�.�������y�1r3c��SS0nSSSS000n[R"U5nURU5unURURS5 URUR
S5 URUR[/55 URURS5 URUR[SS/55 g)Nr�r��
propertyNamesr�r�z0'foo' should not be valid under {'const': 'foo'}r��
rrrBr)rrr�rr�rI)r0rrr�errors     r�test_propertyNames�-TestValidationErrorDetails.test_propertyNames�s����2�;��!�E�G�U�+;�#<�=���.�.�v�6�	��&�&�x�0���������%�0�����M�M�>�	
�	
������U�2�Y�/�������#�.�����*�*�E�?�E�2J�,K�Lr3c��SS0SS0S.n[R"U5nURS5unURURS5 URUR
S5 URUR[/55 URURS5 URUR[SS/55 g)Nr�r��
)�if�then�13 was expectedr�r(r!�r0rrr"s    r�test_if_then�'TestValidationErrorDetails.test_if_then�����B�-��b�M�
��
�.�.�v�6�	��&�&�r�*���������'�2�������(9�:�������U�2�Y�/�������#�.�����*�*�E�6�7�2C�,D�Er3c��SS0SS0S.n[R"U5nURS5unURURS5 URUR
S5 URUR[/55 URURS5 URUR[SS/55 g)	Nr�r�r&)r'�elser�r)r�r/r!r*s    r�test_if_else�'TestValidationErrorDetails.test_if_else�r-r3c�4�[R"S5nURS5unURURUR
URURURURUR4SSSSS[/5S45 g)NFr�zFalse schema does not allow 12r�)rrrBr)rrrHrrrIr�r)r0rr"s   r�test_boolean_schema_False�4TestValidationErrorDetails.test_boolean_schema_False�s����.�.�u�5�	��&�&�r�*�������
�
�����%�%��������!�!����
�1������b�	��
�	
r3c
��SSSS00p![R"SU0[R"S0X0S9S9nURS	S
05unUR	UR
URURURURURURUR4SSSS
[S	/5SS0[SS/5S45 g)
N�someRefr!r�r�r�r}��store��resolverr��notAnIntegerz''notAnInteger' is not of type 'integer'r�)rr�_RefResolverrBr)rrrHrr�rrIr�r)r0�refrrr"s     r�test_ref�#TestValidationErrorDetails.test_refs����"8�6�9�:M�!N�V��.�.�
�S�M��,�,�R��C�=�I�
�	��&�&��~�'>�?�������
�
�����%�%�����#�#�����!�!����	
�:�����u�g����#��-�v�6�7��	
�	
r3c
��SSS000SS0/0n[R"U5nUR/SQ5up4URURUR
URURURURURUR4SSSS[S	/5SS0[/S
Q5S45 URURUR
URURURURURUR4SSSS
[S/5SS0[/SQ5S45 g)NrZr�r�r�rTr^r�rJr)rZrr�rz"5 is greater than the maximum of 3r_)rZrTr��$[3]�
rr�rBr)rrrHrr�rrIr�r)r0rr�
type_error�	min_errors     r�test_prefixItems�+TestValidationErrorDetails.test_prefixItems+sY���6�8�"4�b�"�y�!�n�!M�N���3�3�F�;�	� )� 5� 5�6F� G��
�����"�"��$�$��*�*��#�#��(�(��!�!��&�&��$�$�	
�,�����q�c�
���"��0�1��	
�	
�,	
����!�!��#�#��)�)��"�"��'�'�� � ��%�%��#�#�	
�5�����q�c�
��A���3�4��	
�	
r3c
��SS00/S.n[R"U5nUR/SQ5up4URURUR
URURURURURUR4SSSS[S/5SS0[SS/5S	45 URURUR
URURURURURUR4S
SSS[S/5SS0[SS/5S
45 g)Nr�r�rY)r�r�r�rzr�z2 is not of type 'string'r�rJrrz4 is not of type 'string'rzrTrArB�r0rrr�r�s     rr[�6TestValidationErrorDetails.test_prefixItems_with_items\sC���h�'��4�
���3�3�F�;�	��&�&�'B�C�������
�
�����"�"����� � ��	�	�������	
�,�����q�c�
���"��w��'�(��	
�	
�,	
����
�
�����"�"����� � ��	�	�������	
�,�����q�c�
���"��w��'�(��	
�	
r3c��SS0SS.n[R"U5nUR/SQ5unURURUR
URURURURURUR4SSS/SQ[/5SS0SS.[S/5S	45 g
)zp
`contains` + `maxContains` produces only one error, even if there are
many more incorrectly matching elements.
r�r�r�r�)r�r�r�rzr�r�r�r|r.r�NrBr*s    rr��1TestValidationErrorDetails.test_contains_too_many�s���
 &�x�0��C���3�3�F�;�	��&�&�'J�K�������
�
�����%�%�����#�#�����!�!����	
�M���3��b�	�$�h�/��B��z�l�#��	
�	
r3c��SS0SS.n[R"U5nUR/SQ5unURURUR
URURURURURUR4SSS/SQ[/5SS0SS.[S/5S	45 g)
Nr�r�r�rt)r�r�rzrvrur.r�rBr*s    rrw�0TestValidationErrorDetails.test_contains_too_few�s���%�x�0��C���3�3�F�;�	��&�&�}�5�������
�
�����%�%�����#�#�����!�!����	
�?�����b�	�$�h�/��B��z�l�#��
�	
r3c��SS0SS.n[R"U5nURSS/5unURURUR
URURURURURUR4SSSS0SS/[/5SS0SS.[S/5S45 g)	Nr�r�r�rtrzz7[2, 4] does not contain items matching the given schemar.r�rBr*s    r�test_contains_none�-TestValidationErrorDetails.test_contains_none�s���%�x�0��C���3�3�F�;�	��&�&��1�v�.�������
�
�����%�%�����#�#�����!�!����	
�J����"��A���b�	�$�h�/��B��z�l�#��	
�	
r3c��SSS/00SSS/S.0S.n[R"U5nURS005up4URURUR
URURURURURURUR4	S	SS/0[S/5SS/0[/S
Q5[/S
Q5S4	5 URURUR
URURURURURURUR4	SSS/0[S/5SS/S.[/S
Q5[/S
Q5S4	5 g)
Nr�r�r��apropz#/$defs/foor�)r�r�)r�r�z'bar' is a required property)r�rRr�z$.apropz'baz' is a required property)rr�rBr)rrrHrr�rrIr�r�rrHs     r�test_ref_sibling�+TestValidationErrorDetails.test_ref_sibling�s����j�5�'�2�3��)�!&����
���3�3�F�;�	��&�&���}�5�������
�
�����"�"����� � ��	�	�����'�'����

�/������w�i� ��e�W�%��9�:��9�:��

�	
�0	
����
�
�����"�"����� � ��	�	�����'�'����

�/������w�i� �&�U�G�<��9�:��9�:��

�	
r3rN)r^r�r_r�r�r�r�rr
rrrrr#r+r0r3r>rEr[r�rwrOrSr�rr3rr�r�st��C-�JK%�Z%/�N;/�zcH�J2�"2�,2�(2�(M� 
F�
F�
�2
�>/
�b2
�h
�>
�<
�6<
r3r�c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�MetaSchemaTestsMixini'c��UR[R5 URR	SS05 SSS5 g!,(df   g=f)Nr�r��r�rr�r.r�r/s r�test_invalid_properties�,MetaSchemaTestsMixin.test_invalid_properties)s9��
�
�
�z�5�5�
6��N�N�'�'��r�(:�;�7�
6�
6���A�
Ac��UR[R5 URR	SS05 SSS5 g!,(df   g=f)NrQ�1rXr/s r�test_minItems_invalid_string�1MetaSchemaTestsMixin.test_minItems_invalid_string-s9��
�
�
�z�5�5�
6��N�N�'�'��S�(9�:�7�
6�
6�r[c�H�UR[R[R1;aFUR	[
R5 URRS/05 SSS5 gURRS/05 g!,(df   g=f)z�
Technically, all the spec says is they SHOULD have elements, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
r�N�r.rr�r�r�rr�r�r/s r�test_enum_allows_empty_arrays�2MetaSchemaTestsMixin.test_enum_allows_empty_arrays2s|���>�>��&�&��&�&�
�
��"�"�:�#9�#9�:����+�+�V�R�L�9�;�:�
�N�N�'�'����5�;�:�s�B�
B!c�P�UR[R[R1;aHUR	[
R5 URRSSS/05 SSS5 gURRSSS/05 g!,(df   g=f)z~
Technically, all the spec says is they SHOULD be unique, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
r�r�Nrar/s r�!test_enum_allows_non_unique_items�6MetaSchemaTestsMixin.test_enum_allows_non_unique_itemsCs����>�>��&�&��&�&�
�
��"�"�:�#9�#9�:����+�+�V�b�"�X�,>�?�;�:�
�N�N�'�'��"�b��(:�;�;�:�s� B�
B%c��UR[R5 URR	SS05 SSS5 g!,(df   g=f)Nrm�
*notaregexrXr/s r�test_schema_with_invalid_regex�3MetaSchemaTestsMixin.test_schema_with_invalid_regexTs9��
�
�
�z�5�5�
6��N�N�'�'��L�(A�B�7�
6�
6�r[c�<�URRSS0SS9 g)Nrmrh�r;)r.r�r/s r�>test_schema_with_invalid_regex_with_disabled_format_validation�SMetaSchemaTestsMixin.test_schema_with_invalid_regex_with_disabled_format_validationXs$�����#�#�
��%��	$�	
r3rN)r^r�r_r�rYr^rbrerirmr�rr3rrVrV's!��<�;�
6�"<�"C�
r3rVc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrg)�ValidatorTestMixini_c�b�URUR05[R5 gr5)�assertIsInstancer.rr/s r�)test_it_implements_the_validator_protocol�<ValidatorTestMixin.test_it_implements_the_validator_protocol`s!�����d�n�n�R�0�)�2E�2E�Fr3c�~�URupURURU5RU55 gr5)�validr�r.r��r0rrs   r�test_valid_instances_are_valid�1ValidatorTestMixin.test_valid_instances_are_validcs.���:�:���������v�.�7�7��A�Br3c�~�URupURURU5RU55 gr5)�invalidr�r.r�rws   r�$test_invalid_instances_are_not_valid�7ValidatorTestMixin.test_invalid_instances_are_not_validgs0���<�<����������/�8�8��B�Cr3c�t�UR[5[505R[5S9 g)N)r)r.r�r�r/s r�(test_non_existent_properties_are_ignored�;ValidatorTestMixin.test_non_existent_properties_are_ignoredks'�������&�(�+�,�5�5�v�x�5�Hr3c�0�SS0[5p!URUUS9nURSS0URRS9nURSS0URRURS9nURXE5 UR
XC5 g)Nr�r�rlr�)rr;)r;�	_resolver)rr.�evolve�FORMAT_CHECKERr�r)�assertNotEqual)r0rr;rvr��expecteds      r�test_evolve�ValidatorTestMixin.test_evolvens���"(�)�!4�m�o���>�>��)�"�
���o�o��H�%��>�>�8�8��
��
�>�>�
�X���>�>�8�8��m�m�"�
��	
����'����C�*r3c�~�UR[5 ["SSUR55nSSS5 W"0SS9nUR	UR
/SQ5 UR
SS0S	9nUR	UR
/SQ5 UR	URS5 g!,(df   N=f)
aB
Subclassing validators isn't supported public API, but some users have
done it, because we don't actually error entirely when it's done :/

We need to deprecate doing so first to help as many of these users
ensure they can move to supported APIs, but this test ensures that in
the interim, we haven't broken those users.
c�.�\rSrSr\"SS9r\"SS9rSrg)�:ValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNoi�c�
�/SQ$)Nrrrr3rr��CValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNo.<lambda>�s��Ir3)�factoryr���defaultrN)r^r�r_r�rr��_barr�rr3r�OhNor��s���$5�6���R�(�r3r�Nr�)r�rr�r��r)�assertWarns�DeprecationWarningr
r.r)r�r�r�)r0r�rr�s    r�test_evolve_with_subclass�,ValidatorTestMixin.test_evolve_with_subclass�s����
�
�0�
1�
�
)�t�~�~�
)��
)�2����$�	�������	�2����v�y�&9��:��������)�,�������2�&�2�
1�s�B.�.
B<c�d�URUR05RSS55 g)Nr�r�)r�r.r�r/s r�#test_is_type_is_true_for_valid_type�6ValidatorTestMixin.test_is_type_is_true_for_valid_type�s$��������r�*�2�2�5�(�C�Dr3c�d�URUR05RSS55 g)Nr�r��r�r.r�r/s r�&test_is_type_is_false_for_invalid_type�9ValidatorTestMixin.test_is_type_is_false_for_invalid_type�s&���������+�3�3�E�7�C�Dr3c���URUR05RSS55 URUR05RSS55 g)NTr�r�r�r/s r�,test_is_type_evades_bool_inheriting_from_int�?ValidatorTestMixin.test_is_type_evades_bool_inheriting_from_int�sJ���������+�3�3�D�)�D�E��������+�3�3�D�(�C�Dr3c��SSS00n[R"URURRR	SS5S9nU"U5nURSS[
S5[
S5-/5 S	0/S
S/nURURU5Vs/sHoURPM snU5 gs snf)Nrr�r�c�p�[U[[[45=(a [U[5(+$r5)�
isinstance�int�floatr�bool�r=r4s  rr��GValidatorTestMixin.test_it_can_validate_with_decimals.<locals>.<lambda>�s,��z��C���0�(�(2�$�U�D�1�1�(2r3�r'rJg�������?r�r�T)
rr�r.r8�redefiner�rr)rBr)r0rr.rr{r"s      r�"test_it_can_validate_with_decimals�5ValidatorTestMixin.test_it_can_validate_with_decimals�s����F�H�-�.���%�%��N�N����4�4�=�=��2��
�	��f�%�	����A�s�G�A�J����$;�<�=��"�b�$��-�����)2�)>�)>�w�)G�H�)G��^�^�)G�H��	
��Hs�!B?c�Z�URSS0[5S9nURS5 g)Nr9�carrotrl�bugs)r.rr��r0rs  r�7test_it_returns_true_for_formats_it_does_not_know_about�JValidatorTestMixin.test_it_returns_true_for_formats_it_does_not_know_about�s1���N�N�
�x� ���#�
�	�	���6�"r3c�\�UR05nURUR5 gr5)r.r�r;r�s  r�,test_it_does_not_validate_formats_by_default�?ValidatorTestMixin.test_it_does_not_validate_formats_by_default�s$���N�N�2�&�	����)�2�2�3r3c�^^�[5n[S5mURS[S9UU4Sj5nTRSS0US9nUR	S5 TR[R5nUR	S5 SSS5 TRWRRT5 g!,(df   N5=f)	NzBad!r�)�raisesc�N>�US:XagUS:XaTeTRSUS35 g)N�goodT�badzWhat is z? [Baby Don't Hurt Me])r )r7r�r0s ��r�check�TValidatorTestMixin.test_it_validates_formats_if_a_checker_is_provided.<locals>.check�s/��������%���	��	�	�H�U�G�+A�B�Cr3r9rlr�r�)r�
ValueErrorr<r.r�r�rrr��	exception�cause)r0r=r�r�cmr�s`    @r�2test_it_validates_formats_if_a_checker_is_provided�EValidatorTestMixin.test_it_validates_formats_if_a_checker_is_provided�s�����/���� ��	����j��	1�	D�
2�	D��N�N�
�u��g�#�
�	�	���6�"�
�
�
�z�9�9�
:�b����u�%�;�	
�
�
�b�l�l�(�(�#�.�	;�
:�s�8B9�9
Cc���[5nSU/0n[R"URURRRUS5S9nU"U5R
S5 g)Nr�c�"�[U[5$r5�r�r�r�s  rr��@ValidatorTestMixin.test_non_string_custom_type.<locals>.<lambda>�s��z�%��'=r3r�r�)r�rr�r.r8r�r�)r0�non_string_typer�Crazys    r�test_non_string_custom_type�.ValidatorTestMixin.test_non_string_custom_type�s_�� �(���?�+�,���!�!��N�N����4�4�=�=��=��
��	�f�
���r�"r3c�z�[R"URURRR	SS5S9nUR[R5nU"SS05RS5 SSS5 URS[WR55 g!,(df   N4=f)	zP
A tuple instance properly formats validation errors for uniqueItems.

See #224
r�c�"�[U[5$r5)r��tupler�s  rr��NValidatorTestMixin.test_it_properly_formats_tuples_in_errors.<locals>.<lambda>�s��z�%��'?r3r��uniqueItemsT)rJrJNz(1, 1) has non-unique elements)rr�r.r8r�r�rrr�r��strr�)r0�TupleValidatorr�s   r�)test_it_properly_formats_tuples_in_errors�<ValidatorTestMixin.test_it_properly_formats_tuples_in_errors�s���$�*�*��N�N����4�4�=�=��?��
���
�
�z�9�9�
:�a��M�4�0�1�:�:�6�B�;��
�
�6��A�K�K�8H�I�;�
:�s�$B,�,
B:c�^�SSS.n[SS5m[R"URURRRSU4SjS.5S	9nU"U5n[
/S
Q5[
S/S//5[
S/5[
S/5/[
S/5/[
S/5//[
S/5////[
S/5/////[
[
S/5/5[
[
S/5/5/T"S
S5T"S
S5/T"S
[
S/5/5T"S
[
S/5/5/T"S
T"S
[
S/55/5T"S
T"S
[
S/55/5/[
[
[
S/555[
[
[
S/555//
nUHnURU5 M [
/SQ5[
S/S//5[
S/5[
S/5/[
S/5/[
S/5//[
S/5////[
S/5/////[
[
S/5/5[
[
S/5/5/T"S
S5T"S
S5/T"S
[
S/5/5T"S
[
S/5/5/T"S
T"S
[
S/55/5T"S
T"S
[
S/55/5/[
[
[
S/555[
[
[
S/555//
nUH<nUR[R5 URU5 SSS5 M> g!,(df   MP=f)z?
Allow array to validate against another defined sequence type
r�T)r�r��	MyMappingza, bc�.�[U[[45$r5)r�rArr�s  rr��BValidatorTestMixin.test_check_redefined_sequence.<locals>.<lambda>s��J���e�}�5r3c�(>�[U[T45$r5)r�r+)r=r4r�s  �rr�r�s���Z���i�0�6r3)r�r�r�)rhNr]r}TFrrh)rhr�rhN)rrr�r.r8�
redefine_manyrr�r�rr)r0rr.r�valid_instancesr�invalid_instancesr�s       @r�test_check_redefined_sequence�0ValidatorTestMixin.test_check_redefined_sequence�sD���"�$�7���{�F�3�	��%�%��N�N����4�4�B�B���	�	�
�	��f�%�	�
�,�-��E�7�Q�C�.�!�
�E�7�^�U�A�3�Z�(��U�G�n�
��q�c�
�|�,���w�� �!�"�
#���s���~�&6�%7�8�
�E�5�'�N�#�
$�e�U�A�3�Z�L�&9�:�
�s�A�
�	�#�u� 5�6��#��q�c�
�|�,��#��u�g��/�0�
�
�#�	�#�u�a�S�z� :�;�<��#�	�#�u�e�W�~� >�?�@�
��5���w��(�
)�5��u�a�S�z�1B�+C�D�!
��&(�H����x�(�(�
�/�"��E�7�U�G�$�%�
�E�7�^�U�E�7�^�,��U�G�n�
��u�g��/�0���w�� �!�"�
#���w��(8�'9�&:�%;�<�
�E�5�'�N�#�
$�e�U�E�7�^�,<�&=�>�
�s�E�
"�I�c�5�$9�:��#��u�g��/�0��#��u�g��/�0�
�
�#�	�#�u�e�W�~� >�?�@��#�	�#�u�e�W�~� >�?�@�
��5���w��(�
)�5��u�e�W�~�1F�+G�H�!
��&*�H��"�"�:�#=�#=�>��"�"�8�,�?�>�*�>�>�s�L>�>
M
	c���UR[5 UR05RnSSS5 UR	W[
R5 g!,(df   N/=fr5)r�r�r.r:rrrr<)r0r:s  r�.test_it_creates_a_ref_resolver_if_not_provided�AValidatorTestMixin.test_it_creates_a_ref_resolver_if_not_provided9sI��
�
�
�0�
1��~�~�b�)�2�2�H�2����h�
�(?�(?�@�2�
1�s�A�
A)c���SSS0p![R"S0X0S9nURSU0US9nUR[R
5 UR
S5 SSS5 g!,(df   g=f)N�someCoolRefr�r�r}r7r�r9)rr<r.r�rrr��r0r=rr:rs     r�/test_it_upconverts_from_deprecated_RefResolvers�BValidatorTestMixin.test_it_upconverts_from_deprecated_RefResolvers>sh��#�f�i�%8�V��*�*�2�r�#��G���N�N�F�C�=�8�N�D�	�
�
�
�z�9�9�
:����t�$�;�
:�
:�s�A)�)
A7c��^�"U4SjS5nU"5nSS0nTR[R5 TRX2S9R	S5 SSS5 g!,(df   g=f)zJ
Legacy RefResolvers support only the context manager form of
resolution.
c�,>�\rSrSr\U4Sj5rSrg)�nValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolveriLc3�>># �TRUS5 SS0v� g7f)N�the refr�r��r))�thisr=r0s  �r�	resolving�xValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolver.resolvingMs!����� � ��i�0��y�)�)�s�rN)r^r�r_r�rr�r�r/s�r�LegacyRefResolverr�Ls���
�
*��
*r3r�r�r�r9N)r�rrr.r�)r0r�r:rs`   r�@test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers�SValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolversFsZ���	*�	*�%�&���)�$��
�
�
�z�9�9�
:��N�N�6�N�5�>�>�t�D�;�
:�
:�s�A!�!
A/rN)r^r�r_r�rsrxr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr3rrprp_sm��G�C�D�I�+�('�.E�E�E�
�*#�4�/�0
#�J�"@-�DA�
%�Er3rpc�0�\rSrSrSrSrSrSrSrSr	g)	�AntiDraft6LeakMixiniYzF
Make sure functionality from draft 6 doesn't leak backwards in time.
c��UR[R5nURR	S5 SSS5 URS[
WR55 g!,(df   N4=f)NTzTrue is not of type�r�rr�r.r�r�r�r��r0r�s  r�test_True_is_not_a_schema�-AntiDraft6LeakMixin.test_True_is_not_a_schema^sP��
�
�
�z�5�5�
6�!��N�N�'�'��-�7��
�
�+�S����-=�>�7�
6���A*�*
A8c��UR[R5nURR	S5 SSS5 URS[
WR55 g!,(df   N4=f)NFzFalse is not of typer�r�s  r�test_False_is_not_a_schema�.AntiDraft6LeakMixin.test_False_is_not_a_schemacsP��
�
�
�z�5�5�
6�!��N�N�'�'��.�7��
�
�,�c�!�+�+�.>�?�7�
6�r�c��UR[5nURS5RS5 SSS5 UR	WR
[R5 g!,(df   N9=f)NTr��r��	Exceptionr.r��assertNotIsInstancer�rrr�s  r�5test_True_is_not_a_schema_even_if_you_forget_to_check�IAntiDraft6LeakMixin.test_True_is_not_a_schema_even_if_you_forget_to_checkhsQ��
�
�
�y�
)�Q��N�N�4� �)�)�"�-�*�� � ����j�.H�.H�I�*�
)���!A*�*
A8c��UR[5nURS5RS5 SSS5 UR	WR
[R5 g!,(df   N9=f)NFr�r�r�s  r�6test_False_is_not_a_schema_even_if_you_forget_to_check�JAntiDraft6LeakMixin.test_False_is_not_a_schema_even_if_you_forget_to_checkmsQ��
�
�
�y�
)�Q��N�N�5�!�*�*�2�.�*�� � ����j�.H�.H�I�*�
)�rrN)
r^r�r_r��__doc__r�r�rrr�rr3rr�r�Ys���?�
@�
J�
Jr3r�c�d�\rSrSr%\R
r004rS\S'SS0S4r	Sr
SrS	rS
r
Srg)
�TestDraft3Validatoris�tuple[dict, dict]rvr�r�r�c�\�URSS05nUR[55 g�Nr��any)r.r�r�r�s  r�#test_any_type_is_valid_for_type_any�7TestDraft3Validator.test_any_type_is_valid_for_type_anyxs$���N�N�F�E�?�3�	����6�8�$r3c�V�[R"URURRR	SS5S9nU"SS05nURS5 UR
[R5 URS5 SSS5 g!,(df   g=f)z
Sigh, because why not.
rc�"�[U[5$r5r�r�s  rr��BTestDraft3Validator.test_any_type_is_redefinable.<locals>.<lambda>�s��j���.Dr3r�r�r�r�N)	rr�r.r8r�r�r�rr)r0r�rs   r�test_any_type_is_redefinable�0TestDraft3Validator.test_any_type_is_redefinable|s����!�!��N�N����4�4�=�=��D��
���6�5�/�*�	����2��
�
�
�z�9�9�
:����u�%�;�
:�
:�s�?B�
B(c�v�URURSS05R[555 gr
)r�r.r�r�r/s r�!test_is_type_is_true_for_any_type�5TestDraft3Validator.test_is_type_is_true_for_any_type�s(�����������7�@�@���J�Kr3c���URUR05RSS55 URURSS05RS55 g)NTr�r�r)r�r.r�r�r/s r�6test_is_type_does_not_evade_bool_if_it_is_being_tested�JTestDraft3Validator.test_is_type_does_not_evade_bool_if_it_is_being_tested�sH��������r�*�2�2�4��C�D����������7�@�@��F�Gr3rN)r^r�r_r�rr�r.rv�__annotations__r{rrrrr�rr3rr
r
ssA���*�*�I� "�B�x�E��'��y�!�5�(�G�%�
&�L�Hr3r
c�L�\rSrSr%\R
r004rS\S'SS0S4r	Sr
g)	�TestDraft4Validatori�rrvr�r�r�rN)r^r�r_r�rr�r.rvrr{r�rr3rrr��+���*�*�I� "�B�x�E��'��y�!�5�(�Gr3rc�L�\rSrSr%\R
r004rS\S'SS0S4r	Sr
g)	�TestDraft6Validatori�rrvr�r�r�rN)r^r�r_r�rr/r.rvrr{r�rr3rr!r!�rr3r!c�L�\rSrSr%\R
r004rS\S'SS0S4r	Sr
g)	�TestDraft7Validatori�rrvr�r�r�rN)r^r�r_r�rrr.rvrr{r�rr3rr#r#�rr3r#c�L�\rSrSr%\R
r004rS\S'SS0S4r	Sr
g)	�TestDraft201909Validatori�rrvr�r�r�rN)r^r�r_r�r�Draft201909Validatorr.rvrr{r�rr3rr%r%��+���/�/�I� "�B�x�E��'��y�!�5�(�Gr3r%c�L�\rSrSr%\R
r004rS\S'SS0S4r	Sr
g)	�TestDraft202012Validatori�rrvr�r�r�rN)r^r�r_r�rr�r.rvrr{r�rr3rr)r)�r'r3r)c��\rSrSrSrSrSrg)�TestLatestValidatori�zI
These really apply to multiple versions but are easiest to test on one.
c��SnSU0n[R"S0US0S9n[R"X#S9nUR[R
5 UR
S5 SSS5 g!,(df   g=f)Nr�r�r}Fr7r9)rr<r�r�rrr�r�s     r�2test_ref_resolvers_may_have_boolean_schemas_stored�FTestLatestValidator.test_ref_resolvers_may_have_boolean_schemas_stored�sf�����#����*�*�2�r�#�u��F���.�.�v�I�	�
�
�
�z�9�9�
:����t�$�;�
:�
:�s�A-�-
A;rN)r^r�r_r�rr-r�rr3rr+r+�s���%r3r+c�n�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrg)�TestValidatorFori�c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr��&http://json-schema.org/draft-03/schema�'http://json-schema.org/draft-03/schema#)r�r�
validator_forr�r<s  r�test_draft_3�TestValidatorFor.test_draft_3��`���E�F���
�
��$�$�V�,��&�&�	
�
�F�G���
�
��$�$�V�,��&�&�	
r3c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr��&http://json-schema.org/draft-04/schema�'http://json-schema.org/draft-04/schema#)r�rr4r�r<s  r�test_draft_4�TestValidatorFor.test_draft_4�r7r3c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr��&http://json-schema.org/draft-06/schema�'http://json-schema.org/draft-06/schema#)r�rr4r/r<s  r�test_draft_6�TestValidatorFor.test_draft_6�r7r3c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr��&http://json-schema.org/draft-07/schema�'http://json-schema.org/draft-07/schema#)r�rr4rr<s  r�test_draft_7�TestValidatorFor.test_draft_7�r7r3c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr�z,https://json-schema.org/draft/2019-09/schemaz-https://json-schema.org/draft/2019-09/schema#)r�rr4r&r<s  r�test_draft_201909�"TestValidatorFor.test_draft_201909��`���K�L���
�
��$�$�V�,��+�+�	
�
�L�M���
�
��$�$�V�,��+�+�	
r3c���SS0nUR[R"U5[R5 SS0nUR[R"U5[R5 g)Nr��,https://json-schema.org/draft/2020-12/schema�-https://json-schema.org/draft/2020-12/schema#)r�rr4r�r<s  r�test_draft_202012�"TestValidatorFor.test_draft_202012rJr3c�l�UR[R"S5[R5 g)NT�r�rr4r�r/s r�	test_True�TestValidatorFor.test_Trues%���
�
��$�$�T�*��&�&�	
r3c�l�UR[R"S5[R5 gr6rQr/s r�
test_False�TestValidatorFor.test_Falses%���
�
��$�$�U�+��&�&�	
r3c��[R"SS0SSS9nSS0nUR[R"U5U5 g)Nrurz�12c�&�URSS5$r|r~r�s rr��8TestValidatorFor.test_custom_validator.<locals>.<lambda>r�r3r�r��rr-r�r4�r0r.rs   r�test_custom_validator�&TestValidatorFor.test_custom_validatorsK���%�%��/�0��+�
�	�
�-�.���
�
��$�$�V�,��	
r3c��[R"SS0SS9nSS0nUR[R"U5U5 g)Nr%r��13rZr�r[r\s   r�test_custom_validator_draft6�-TestValidatorFor.test_custom_validator_draft6'sH���%�%�� 1�2��
�	��.�/���
�
��$�$�V�,��	
r3c�l�UR[R"05[R5 gr5rQr/s r�%test_validator_for_jsonschema_default�6TestValidatorFor.test_validator_for_jsonschema_default2s!���
�
�j�.�.�r�2�J�4N�4N�Or3c�N�UR[R"0SS9S5 g)Nr�)r�rr4r/s r�!test_validator_for_custom_default�2TestValidatorFor.test_validator_for_custom_default5s���
�
�j�.�.�r�4�@�$�Gr3c��UR[5n[R"SS0S9 SSS5 UR	WR
[5 UR	[UR5S5 g!,(df   NT=f)Nr��
unknownSchemar�z�The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future.)	r�r�rr4r)�filename�__file__r��warning)r0r�s  r�1test_warns_if_meta_schema_specified_was_not_found�BTestValidatorFor.test_warns_if_meta_schema_specified_was_not_found8sh��
�
�
�0�
1�R��$�$�Y��,H�I�2�	
������h�/������
�
�O�
&�	
�	2�
1�s�A;�;
B	c���[R"SS9n[R"S5 [R"00S9 SSS5 URW5 g!,(df   N =f)NT��record�always)rr�)�warnings�catch_warnings�simplefilterrr4r�)r0�ws  r�0test_does_not_warn_if_meta_schema_is_unspecified�ATestValidatorFor.test_does_not_warn_if_meta_schema_is_unspecifiedDsN��
�
$�
$�D�
1�Q��!�!�(�+��$�$�B��;�2�	
�����2�
1�s�,A�
A)c�j�SS0[5p!UR[R"X5U5 g)Nr�zmailto:[email protected])r�r�rr4)r0rr�s   r�-test_validator_for_custom_default_with_schema�>TestValidatorFor.test_validator_for_custom_default_with_schemaJs*��$�&>�?�����
�
�j�.�.�v�?��Ir3rN)r^r�r_r�r5r;r@rErHrNrRrUr]rardrgrnrxr{r�rr3rr0r0�sP��
�
�
�
�
�
�
�
�

�	
�P�H�

��Jr3r0c�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�TestValidateiOc���/n[RRUSUR5 [R
"0U5 SSS5 UR
X1/5 g!,(df   N!=f)Nr�)r�patchr��appendrr�r))r0rr.�results    r�
assertUses�TestValidate.assertUsesPsQ����
�Z�Z�
�
�y�.�&�-�-�
H�����F�+�I������*�I�
H�s�A!�!
A/c��URSS0[RS9 URSS0[RS9 g)Nr�r3�rr.r2)r�rr�r/s r�test_draft3_validator_is_chosen�,TestValidate.test_draft3_validator_is_chosenV�J������H�I� �0�0�	�	
�
	
����G�H� �0�0�	�	
r3c��URSS0[RS9 URSS0[RS9 g)Nr�r:r�r9)r�rr�r/s r�test_draft4_validator_is_chosen�,TestValidate.test_draft4_validator_is_chosenar�r3c��URSS0[RS9 URSS0[RS9 g)Nr�r?r�r>)r�rr/r/s r�test_draft6_validator_is_chosen�,TestValidate.test_draft6_validator_is_chosenlr�r3c��URSS0[RS9 URSS0[RS9 g)Nr�rDr�rC)r�rrr/s r�test_draft7_validator_is_chosen�,TestValidate.test_draft7_validator_is_chosenwr�r3c��URSS0[RS9 URSS0[RS9 g)Nr�rMr�rL�r�rr�r/s r�$test_draft202012_validator_is_chosen�1TestValidate.test_draft202012_validator_is_chosen�sR������J��!�5�5�		�	
�	
����I��!�5�5�		�	
r3c�@�UR0[RS9 g)Nr�r�r/s r�)test_draft202012_validator_is_the_default�6TestValidate.test_draft202012_validator_is_the_default�s�����r�Z�-L�-L��Mr3c���UR[R5n[R"SSS05 SSS5 UR[
WR5S5 g!,(df   N4=f)Nr�r�r�z1(?s)Failed validating '.*' in schema.*On instance)r�rrrr��assertRegexr�r�r�s  r�test_validation_error_message�*TestValidate.test_validation_error_message�sX��
�
�
�z�9�9�
:�a�����V�X�$6�7�;���������?�	
�;�
:���A(�(
A6c���UR[R5n[R"SSS05 SSS5 UR[
WR5S5 g!,(df   N4=f)Nr�r�z3(?s)Failed validating '.*' in metaschema.*On schema)r�rr�rr�r�r�r�r�s  r�test_schema_error_message�&TestValidate.test_schema_error_message�sW��
�
�
�z�5�5�
6�!�����V�R�L�1�7���������A�	
�7�
6�r�c��SSSS.SS0/0nUR[R5n[R"SU5 SSS5 URS[
WR55 g!,(df   N4=f)	Nr�r�r�rr�r�r�z!12 is less than the minimum of 20)r�rrrr�r�r�r�)r0rr�s   r�test_it_uses_best_match�$TestValidate.test_it_uses_best_match�so���!�b�1���!��
���
�
�z�9�9�
:�a�����F�+�;��
�
�9�3�q�{�{�;K�L�;�
:�s�A1�1
A?rN)r^r�r_r�r�r�r�r�r�r�r�r�r�r�r�rr3rr~r~Os6��+�	
�	
�	
�	
�

�N�
�
�	Mr3r~c��\rSrSrSrSrSrg)�
TestThreadingi�a�
Threading-related functionality tests.

jsonschema doesn't promise thread safety, and its validation behavior
across multiple threads may change at any time, but that means it isn't
safe to share *validators* across threads, not that anytime one has
multiple threads that jsonschema won't work (it certainly is intended to).

These tests ensure that this minimal level of functionality continues to
work.
c��^�/mU4SjnU"5 SSKJn U"US9nUR5 UR5 UR	UR5T4S/45 g)Nc�>�[R"SSS9 g! TR[R"55 g=f)Nr�Tr�)rr�r��sys�exc_info)�faileds�rr��FTestThreading.test_validation_across_a_second_thread.<locals>.validate�s1���
.��#�#�R��=��
.��
�
�c�l�l�n�-�s	��&Ar)�Thread)�targetF)�	threadingr��start�joinr)�is_alive)r0r�r��threadr�s    @r�&test_validation_across_a_second_thread�4TestThreading.test_validation_across_a_second_thread�sS�����	.�	�
�$��x�(���������
����&�/�/�+�V�4�u�b�k�Br3rN)r^r�r_r�rr�r�rr3rr�r��s
��
�Cr3r�c� �\rSrSrSrSrSrg)�TestReferencingi�c���Sn[R"US9nSS0n[R"X2S9nUR	URS5URS54S5 g)	Nc�2�[R"SS05$)Nr�r�)r�create_resource)�uris r�retrieve�=TestReferencing.test_registry_with_retrieve.<locals>.retrieve�s���.�.��	�/B�C�Cr3)r�r��https://example.com/��registryr�r�)TF)�referencing�Registryrr�r)r�)r0r�r�rrs     r�test_registry_with_retrieve�+TestReferencing.test_registry_with_retrieve�sd��	D��'�'��:���0�1���3�3�F�N�	����
�
�
��
#�Y�%7�%7��%>�?��	
r3c��[R"5nSS0n[R"X!S9n[R
"SS9n[R"S5 UR[RR5 URS5 SSS5 SSS5 URW5 g!,(df   N(=f!,(df   N1=f)Nr�r�r�Trqrsr�)r�r�rr�rtrurvr�r�Unresolvabler�r�)r0r�rrrws     r�;test_custom_registries_do_not_autoretrieve_remote_resources�KTestReferencing.test_custom_registries_do_not_autoretrieve_remote_resources�s����'�'�)���0�1���3�3�F�N�	�
�
$�
$�D�
1�Q��!�!�(�+��"�"�;�#9�#9�#F�#F�G��"�"�2�&�H�2�	
�����H�G��2�
1�s%�AC�B6�C�6
C	�C�
CrN)r^r�r_r�r�r�r�rr3rr�r��s��
�	r3r�c��\rSrSrSrSrSS0rSrSrSr	S	r
S
rSrSr
S
rSrSrSrSrSrSrSrSrSrSrSrg)�TestRefResolveri�r}zfoo://stored�storedrc���0UlURUR0Ul[R
"URURUR5Ulgr5)�referrer�
stored_uri�
stored_schemar8rr<�base_urir:r/s rr1�TestRefResolver.setUp�sD����
��o�o�t�'9�'9�:��
�"�/�/��M�M�4�=�=�$�*�*�
��
r3c��[RRSn[RRURS5nURRU5nSSS5 SSS5 URW[RR5 URWR5 g!,(df   N\=f!,(df   Ne=f)Nru�resolve_remote)rr�r7rr�r�r:r�r)r��called)r0r=�patched�resolveds    r�6test_it_does_not_retrieve_schema_urls_from_the_network�FTestRefResolver.test_it_does_not_retrieve_schema_urls_from_the_network�s����(�(�4�4�T�:��
�Z�Z�
�
�t�}�}�.>�
?�7����(�(��-���.�@�	
����:�#=�#=�#I�#I�J�������(�.�-��@�
?�s$�C
�$B<�&C
�<
C
	�C
�
Cc���SnS[50URS'URRU5nUR	X RSS5 SSS5 g!,(df   g=f)Nz#/properties/foor�r�)r�r�r:r�r))r0r=r�s   r�test_it_resolves_local_refs�+TestRefResolver.test_it_resolves_local_refs�sX�� ��',�f�h�&7��
�
�l�#�
�]�]�
$�
$�S�
)�X����X�}�}�\�'B�5�'I�J�*�
)�
)�s�"A"�"
A0c�L�SSS0S.n[RRUSS9nURS5nUR	X1S5 SSS5 URS	5nUR	X1S5 SSS5 g!,(df   N==f!,(df   g=f)
Nzhttp://bar/schema#r�r�)rurhc�&�URSS5$r|r~r�s rr��ETestRefResolver.test_it_resolves_local_refs_with_id.<locals>.<lambda>	������D�"�!5r3�r�z#/arhzhttp://bar/schema#/a)rr<�from_schemar�r)�r0rr:r�s    r�#test_it_resolves_local_refs_with_id�3TestRefResolver.test_it_resolves_local_refs_with_id	s���,�E�5�>�B���*�*�6�6��5�7�
���
�
��
&�(����X�c�{�3�'�
�
�
� 6�
7�8����X�c�{�3�8�
7�'�
&��
7�
7�s�B�&B�
B�
B#c�|�URRUR5nURXR5 SSS5 SS0URR
S'URRS5nUR
US5 SSS5 g!,(df   N`=f!,(df   g=f)Nr�r��
cached_refzcached_ref#/foo)r:r�r�r�r�r8r))r0r�s  r�test_it_retrieves_stored_refs�-TestRefResolver.test_it_retrieves_stored_refs	s���
�]�]�
$�
$�T�_�_�
5���M�M�(�$6�$6�7�6�.3�B�K��
�
���L�)�
�]�]�
$�
$�%6�
7�8����X�r�*�8�
7�	6�
5��8�
7�s�B�B-�
B*�-
B;c�z�SnSS0nS[R;a<UR[RRS[RS5 [	SU05[RS'UR
R
U5nURUS5 SSS5 g!,(df   g=f)N�http://bar#bazr�r��requests�
http://bar)r��modulesr(�__setitem__�ReallyFakeRequestsr:r�r))r0r=rr�s    r�,test_it_retrieves_unstored_refs_via_requests�<TestRefResolver.test_it_retrieves_unstored_refs_via_requests	s�������������$��O�O����'�'��S�[�[��5L�
�#5�l�F�5K�"L����J��
�]�]�
$�
$�S�
)�X����X�r�*�*�
)�
)�s�B,�,
B:c��^^�SnSS0mS[R;a<TR[RRS[RS5 S[RS'[UU4Sj5nTR[
[S[R5 U[lTRRU5nSSS5 TRWS5 g!,(df   N!=f)Nr�r�r�r�c3�># �TRUS5 [[R"T5R	S55v� g7f)Nr��utf8)r)r�json�dumps�encode)�urlrr0s ��r�fake_urlopen�QTestRefResolver.test_it_retrieves_unstored_refs_via_urlopen.<locals>.fake_urlopen.	s5�������S�,�/��$�*�*�V�,�3�3�F�;�<�<�s�AA�urlopen)r�r�r(r�r�setattrrr�r:r�r))r0r=r�r�rs`   @r�+test_it_retrieves_unstored_refs_via_urlopen�;TestRefResolver.test_it_retrieves_unstored_refs_via_urlopen$	s��������������$��O�O����'�'��S�[�[��5L�
�#'����J��	�	=�
�	=�	
�����Y�
�8J�8J�K�)�
��
�]�]�
$�
$�S�
)�X��*�����2�&�*�
)�s�C)�)
C7c��[R"SSS9nUR[RUR
5 [R"SS0U5 SSS5 S[WR
5S3nURRU5nURUS5 SSS5 g!,(df   N^=f!,(df   g=f)NF�wt)�delete�moder�r�zfile://z#foo)�tempfile�NamedTemporaryFiler(�os�remover�r��dumprr:r�r))r0�tempfr=r�s    r�(test_it_retrieves_local_refs_via_urlopen�8TestRefResolver.test_it_retrieves_local_refs_via_urlopen:	s���
�
(�
(��D�
A�U��O�O�B�I�I�u�z�z�2��I�I�u�e�n�e�,�B���U�Z�Z�0�1��6��
�]�]�
$�
$�S�
)�X����X�u�-�*�
)�B�
A��
*�
)�s�AB2�C�2
C�
Cc��SS0n[RRUSS9nURURS5 URUR
S5 UR
S5nURX15 SSS5 UR
S5nURX15 SSS5 UR
S5nURX15 SSS5 UR
S5nURX15 SSS5 g!,(df   N�=f!,(df   Nv=f!,(df   N\=f!,(df   g=f)Nrur�c�&�URSS5$r|r~r�s rr��PTestRefResolver.test_it_can_construct_a_base_uri_from_a_schema.<locals>.<lambda>G	r�r3r�r}�#zfoo#�rr<r�r)r��resolution_scoper�r�s    r�.test_it_can_construct_a_base_uri_from_a_schema�>TestRefResolver.test_it_can_construct_a_base_uri_from_a_schemaC	s�������*�*�6�6��5�7�
��	
����*�*�E�2�����2�2�E�:�
�
�
��
#�x����X�.�$�
�
�
��
$�����X�.�%�
�
�
��
&�(����X�.�'�
�
�
��
'�8����X�.�(�
'�
$�
#��
$�
$��
&�
&��
'�
'�s0�-D	�D�D+�.D<�	
D�
D(�+
D9�<
E
c��0n[RRU5nURURS5 URUR
S5 UR
S5nURX15 SSS5 UR
S5nURX15 SSS5 g!,(df   N:=f!,(df   g=f)Nr}rrr�s    r�9test_it_can_construct_a_base_uri_from_a_schema_without_id�ITestRefResolver.test_it_can_construct_a_base_uri_from_a_schema_without_idT	s������*�*�6�6�v�>������*�*�B�/�����2�2�B�7�
�
�
��
#�x����X�.�$�
�
�
��
$�����X�.�%�
$�$�
#��
$�
$�s�+B1�C�1
B?�
Cc��^^^�UUU4SjnSS0mSm[R"S0SU0S9nURT5nTRUT5 SSS5 g!,(df   g=f)Nc�,>�TRUT5 T$r5r�)r�r=rr0s ���r�handler�@TestRefResolver.test_custom_uri_scheme_handlers.<locals>.handler_	s������S�#�&��Mr3r�r��	foo://barr}��handlers)rr<r�r))r0rr:r�r=rs`   @@r�test_custom_uri_scheme_handlers�/TestRefResolver.test_custom_uri_scheme_handlers^	s]���	��������*�*�2�r�U�G�<L�M��
�
�
��
$�����X�v�.�%�
$�
$�s�A�
A%c�^^�[5/mUU4SjnSn[R"S0SSU0S9nURU5 SSS5 URU5 SSS5 g!,(df   N*=f!,(df   g=f)Nc�h>�TR5$![a TRS5 gf=f)Nz#Response must not have been cached!�r]�
IndexErrorr �r��responser0s ��rr�5TestRefResolver.test_cache_remote_on.<locals>.handlerl	s3���
A��|�|�~�%���
A��	�	�?�@�
A����1�1rr}Tr���cache_remoter�r�rr<r��r0rr=r:r$s`   @r�test_cache_remote_on�$TestRefResolver.test_cache_remote_oni	sx����H�:��	A����*�*������0@�
���
�
��
$��%�
�
�
��
$��%�
$�%�
$��
$�
$�s�A'�A8�'
A5�8
Bc�^^�[5/mUU4SjnSn[R"S0SSU0S9nURU5 SSS5 g!,(df   g=f)Nc�h>�TR5$![a TRS5 gf=f)NzHandler called twice!r!r#s ��rr�6TestRefResolver.test_cache_remote_off.<locals>.handler~	s0���
3��|�|�~�%���
3��	�	�1�2�
3�r&rr}Fr�r'r)r*s`   @r�test_cache_remote_off�%TestRefResolver.test_cache_remote_off{	sU����H�:��	3����*�*����%��1A�
���
�
��
$��%�
$�
$�s�A�
Ac�^�[S5mU4SjnSn[R"S0SU0S9nUR[R
5nUR
U5 URS5 SSS5 SSS5 URWR[R
"T55 g!,(df   NG=f!,(df   NP=f)NzOh no! What's this?c�>�Ter5r)r�r"s �rr�TTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error.<locals>.handler�	s����Kr3rr}r�rzShouldn't get this far!)
r�rr<r�r�_RefResolutionErrorr�r r)r�)r0rr=r:�errr"s     @r�3test_if_you_give_it_junk_you_get_a_resolution_error�CTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error�	s�����0�1��	����*�*�2�r�U�G�<L�M��
�
�
�z�=�=�
>�#��#�#�C�(��	�	�3�4�)�?�	
������
�(F�(F�u�(M�N�)�(��?�
>�s$�C�B1�0C�1
B?	�;C�
Cc�.�[R"S05nUR5 UR[R
5nUR5 SSS5 UR
S[WR55 g!,(df   N4=f)Nr}zFailed to pop the scope)	rr<�	pop_scoper�rr5r�r�r�)r0r:�excs   r�.test_helpful_error_message_on_failed_pop_scope�>TestRefResolver.test_helpful_error_message_on_failed_pop_scope�	sh���*�*�2�r�2������
�
�
�z�=�=�
>�#���� �?��
�
�/��S�]�]�1C�D�?�
>�s�B�
Bc��[RRn[R"SU5n[R"XS9nUR	URSS055 SS[RRS0/0n[R"SU5n[R"XES9nUR	URSS055 g)	z
See #1085.
r}r9rhr��allOfr�r%N)rrr7r<r�r�)r0r�oner�another�twos      r�,test_pointer_within_schema_with_different_id�<TestRefResolver.test_pointer_within_schema_with_different_id�	s����+�+�7�7���%�%�b�&�1���.�.�v�D�	�����+�+�[�%�,@�A�B�
�v�z�9�9�E�E�e�L�M�N�
���%�%�b�'�2���.�.�w�E�	�����+�+�[�%�,@�A�Br3c�^�U4Sjn[R"S0SU0S9n[R"0[RRS9nSSS.nU"XBS	9nTRUR
05UR
S
54S5 g)
zZ
See https://github.com/python-jsonschema/jsonschema/issues/1061#issuecomment-1624266555.
c�0>�TRUS5 SS0$)Nzhttp://example.com/foor�r�r�)r�r0s �r�handle�NTestRefResolver.test_newly_created_validator_with_ref_resolver.<locals>.handle�	s������S�":�;��I�&�&r3r}�httprr�zhttp://example.com/barr�)r%r�r9r��FTN)rr<r-r�r6r)r�)r0rGr:r.rrs`     r�.test_newly_created_validator_with_ref_resolver�>TestRefResolver.test_newly_created_validator_with_ref_resolver�	s����
	'��*�*�2�r�V�V�<L�M���%�%��!�1�1�<�<�
�	�2�5�A���f�8�	����
�
�
��
#�Y�%7�%7��%;�<��	
r3c���SSS00SSS00S.n[R"U[R"SU5S9nURUR	SS	05UR	SS
054S5 g)
zZ
See https://github.com/python-jsonschema/jsonschema/issues/1124#issuecomment-1632574249.
�xr�z#/definitions/xr�r�)r�rr}r9�yr�rJN)rr�r<r)r�)r0rrs   r�2test_refresolver_with_pointer_in_schema_with_no_id�BTestRefResolver.test_refresolver_with_pointer_in_schema_with_no_id�	s�����):� ;�<��&�)�!4�5�
��
�3�3���,�,�R��8�
�	�	
���
�
�
��c�
�
+�Y�-?�-?��b�	�-J�K��	
r3)r�r:r8N)r^r�r_r�r�r�r�r1r�r�r�r�r�r�r	rrrr+r0r7r<rCrKrPr�rr3rr�r��st���H��J��x�(�M�
�)�K�	4�+�+�'�,.�/�"/�	/��$� O�E�C� 
�*
r3r�c��Sn[XS9$)Nc��URVs/sHn[U5PM snURVs/sHn[U5PM sn4$s snfs snfr5)r�r�rI)r"r�s  r�key�sorted_errors.<locals>.key�	sJ��"�Z�Z�(�Z��S��V�Z�(�"�.�.�/�.��S��V�.�/�
�	
��(��/s
�A
�A)rT)�sorted)rrTs  rr�r��	s��
�
�&�"�"r3c�&�\rSrSr%S\S'SrSrg)r�i�	zdict[str, Any]�
_responsesc��URRU5nUc[S[U5-5e[	[
R"U55$)Nz
Unknown URL: )rXrr�rd�_ReallyFakeJSONResponser�r�)r0r�r$s   rr�ReallyFakeRequests.get�	sC���?�?�&�&�s�+���;��_�t�C�y�8�9�9�&�t�z�z�(�';�<�<r3rN)r^r�r_r�rrr�rr3rr�r��	s����=r3r�c�&�\rSrSr%S\S'SrSrg)rZi�	r��	_responsec�B�[R"UR5$r5)r��loadsr]r/s rr��_ReallyFakeJSONResponse.json�	s���z�z�$�.�.�)�)r3rN)r^r�r_r�rr�r�rr3rrZrZ�	s���N�*r3rZ):�
__future__r�collectionsrr�
contextlibr�decimalr�ior�typingr	�unittestr
r�urllib.requestrr�rr�rrt�attrsr
r�referencing.jsonschemar�referencing.exceptionsr��
jsonschemarrrrrr r"r�r�rVrpr�r
rr!r#r%r)r+r0r~r�r�r�r�r�rZrr3r�<module>rms���"�)�%����#�'��	�
����.����1�L6�(�L6�^c
�(�c
�LL
��L
�^5
�5
�pwE�-�wE�tJ�J�4H�-�/A�8�H�@)�-�/A�8�)�)�,�h�)�)�,�h�)�)�1�8�)�)�1�8�)�%�(�%�LJ�x�LJ�^^M�8�^M�BC�H�C�>�h��4l
�h�l
�`#��=�=��=��*�*��*r3

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 156 B 0644
_suite.cpython-313.pyc File 12.91 KB 0644
fuzz_validate.cpython-313.pyc File 2.21 KB 0644
test_cli.cpython-313.pyc File 32.09 KB 0644
test_deprecations.cpython-313.pyc File 23.52 KB 0644
test_exceptions.cpython-313.pyc File 25.63 KB 0644
test_format.cpython-313.pyc File 6.06 KB 0644
test_jsonschema_test_suite.cpython-313.pyc File 9.68 KB 0644
test_types.cpython-313.pyc File 11.6 KB 0644
test_utils.cpython-313.pyc File 6.86 KB 0644
test_validators.cpython-313.pyc File 126.6 KB 0644
Filemanager