
    sg                     `    S SK Jr  S SKrS SKrS SKJrJrJr  S SKJ	r	  S SK
Jr   " S S5      rg)    )	lru_cacheN)RegistryResource
exceptions)DRAFT202012)to_cached_resourcec                   ,    \ rS rSrS rS rS rS rSrg)TestToCachedResource   c                 >  ^ SS0n[         R                  " U5      /m[        5       U4S j5       n[        US9n[        R
                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )N$schema,https://json-schema.org/draft/2020-12/schemac                 $   > TR                  5       $ Npopuristacks    B/usr/lib/python3/dist-packages/referencing/tests/test_retrieval.pyretrieveITestToCachedResource.test_it_caches_retrieved_resources.<locals>.retrieve       99;    r   urn:example:schemajsondumpsr   r   r   from_contentsget_or_retrievevalueselfcontentsr   registryexpectedgotagainr   s          @r   "test_it_caches_retrieved_resources7TestToCachedResource.test_it_caches_retrieved_resources   s    MNH%&			 
	 X.))(3&&';<yyH$$$ (()=>{{cii'''r   c                 J  ^ SS0n[         R                  " U5      S S S2   /m[        S S9U4S j5       n[        US9n[        R
                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )	Nr   r   c                 :    [         R                  " U S S S2   5      $ )Nr-   )r   loads)ss    r   <lambda>9TestToCachedResource.test_custom_loader.<locals>.<lambda>#   s    DJJq2w,?r   )r/   c                 $   > TR                  5       $ r   r   r   s    r   r   9TestToCachedResource.test_custom_loader.<locals>.retrieve#   r   r   r   r   r   r#   s          @r   test_custom_loader'TestToCachedResource.test_custom_loader   s    MNH%dd+,	"?	@	 
A	 X.))(3&&';<yyH$$$ (()=>{{cii'''r   c                 T  ^ 0 n[         R                  " U5      /m[        [        R                  S9U4S j5       n[        US9n[        R                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )N)r    c                 $   > TR                  5       $ r   r   r   s    r   r   @TestToCachedResource.test_custom_from_contents.<locals>.retrieve6   r   r   r   r   )r   r   r   r   create_resourcer   r!   r"   r#   s          @r   test_custom_from_contents.TestToCachedResource.test_custom_from_contents2   s    H%&	+*E*E	F	 
G	 X...x8&&';<yyH$$$ (()=>{{cii'''r   c                   ^ SS0n[        USS9[        USS9[        USS9S.mTR                  5        VVs0 s H  u  p#U[        R                  " U5      _M     nnn[	        [        SS9S	9U4S
 j5       n[        US9nUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   eUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   eUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   e[        R                  " [        R                  5         UR                  S5        S S S 5        g s  snnf ! , (       d  f       g = f)Nr   r      )foo      )urn:example:1urn:example:2urn:example:3)maxsize)cachec                 N   > [         R                  " TR                  U 5      5      $ r   )r   r   r   )r   mappings    r   r   8TestToCachedResource.test_custom_cache.<locals>.retrieveR   s    ::gkk#.//r   r   rB   rC   rD   )dictitemsr   r    r   r   r   r!   r"   pytestraisesr   Unretrievable)	r$   schemar   r%   	resourcesr   r&   r(   rH   s	           @r   test_custom_cache&TestToCachedResource.test_custom_cacheE   s   KL!&a0!&a0!&a0
 ")
!0 ''11!0 	 

 
)A"6	7	0 
8	0 X.&&7yyIo6666''8>>#))KKK''8>>#))KKK&&7yyIo6666''8>>#))KKK''8>>#))KKK &&7yyIo6666''8>>#))KKK''8>>#))KKK ]]:334$$_5 549
8 54s   #H,H22
I  N)	__name__
__module____qualname____firstlineno__r*   r5   r;   rQ   __static_attributes__rS   r   r   r
   r
      s    (&(&(&%6r   r
   )	functoolsr   r   rL   referencingr   r   r   referencing.jsonschemar   referencing.retrievalr   r
   rS   r   r   <module>r]      s&       6 6 . 4_6 _6r   