Ë
    òmxi‡  ã                   ó`   — d dl mZ d dlZd dlZd dlmZmZmZ d dlm	Z	 d dl
mZ  G d„ d«      Zy)é    )Ú	lru_cacheN)ÚRegistryÚResourceÚ
exceptions)ÚDRAFT202012)Úto_cached_resourcec                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestToCachedResourcec                 ó:  ‡— ddi}t        j                  |«      gŠt        «       ˆfd„«       }t        |¬«      }t	        j
                  |«      }|j                  d«      }|j                  |k(  sJ ‚|j                  d«      }|j                  |j                  u sJ ‚y )Nú$schemaú,https://json-schema.org/draft/2020-12/schemac                 ó$   •— ‰j                  «       S ©N©Úpop©ÚuriÚstacks    €úW/home/htdocs/ttos/venv/lib/python3.12/site-packages/referencing/tests/test_retrieval.pyÚretrievezITestToCachedResource.test_it_caches_retrieved_resources.<locals>.retrieve   ó   ø€ à—9‘9“;Ðó    ©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_resourcesz7TestToCachedResource.test_it_caches_retrieved_resources   sœ   ø€ ØÐMÐNˆÜ—‘˜HÓ%Ð&ˆä	Ó	ó	ó 
ð	ô  XÔ.ˆä×)Ñ)¨(Ó3ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÒ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÑ'Ð'Ñ'r   c                 óL  ‡— ddi}t        j                  |«      d d d…   gŠt        d„ ¬«      ˆfd„«       }t        |¬«      }t	        j
                  |«      }|j                  d«      }|j                  |k(  sJ ‚|j                  d«      }|j                  |j                  u sJ ‚y )	Nr   r   éÿÿÿÿc                 ó8   — t        j                  | d d d…   «      S )Nr*   )r   Úloads)Úss    r   ú<lambda>z9TestToCachedResource.test_custom_loader.<locals>.<lambda>#   s   € ¬D¯J©J°q¹¸2¸±wÓ,?€ r   )r,   c                 ó$   •— ‰j                  «       S r   r   r   s    €r   r   z9TestToCachedResource.test_custom_loader.<locals>.retrieve#   r   r   r   r   r   r!   s          @r   Útest_custom_loaderz'TestToCachedResource.test_custom_loader   s©   ø€ ØÐMÐNˆÜ—‘˜HÓ%¡d¨ dÑ+Ð,ˆä	Ñ"?Ô	@ó	ó 
Að	ô  XÔ.ˆä×)Ñ)¨(Ó3ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÒ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÑ'Ð'Ñ'r   c                 óV  ‡— i }t        j                  |«      gŠt        t        j                  ¬«      ˆfd„«       }t        |¬«      }t        j                  |«      }|j                  d«      }|j                  |k(  sJ ‚|j                  d«      }|j                  |j                  u sJ ‚y )N)r   c                 ó$   •— ‰j                  «       S r   r   r   s    €r   r   z@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_contentsz.TestToCachedResource.test_custom_from_contents2   sŸ   ø€ ØˆÜ—‘˜HÓ%Ð&ˆä	¬+×*EÑ*EÔ	Fó	ó 
Gð	ô  XÔ.ˆä×.Ñ.¨xÓ8ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÒ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÑ'Ð'Ñ'r   c                 ó„  ‡— ddi}t        |d¬«      t        |d¬«      t        |d¬«      dœŠ‰j                  «       D ��ci c]  \  }}|t        j                  |«      “Œ }}}t	        t        d¬«      ¬	«      ˆfd
„«       }t        |¬«      }|j                  d«      }|j                  |d   k(  sJ ‚|j                  d«      j                  |j                  u sJ ‚|j                  d«      j                  |j                  u sJ ‚|j                  d«      }|j                  |d   k(  sJ ‚|j                  d«      j                  |j                  u sJ ‚|j                  d«      j                  |j                  u sJ ‚|j                  d«      }|j                  |d   k(  sJ ‚|j                  d«      j                  |j                  u sJ ‚|j                  d«      j                  |j                  u sJ ‚t        j                  t        j                  «      5  |j                  d«       d d d «       y c c}}w # 1 sw Y   y xY w)Nr   r   é   )Úfooé   é   )úurn:example:1úurn:example:2úurn:example:3)Úmaxsize)Úcachec                 óL   •— t        j                  ‰j                  | «      «      S r   )r   r   r   )r   Úmappings    €r   r   z8TestToCachedResource.test_custom_cache.<locals>.retrieveR   s   ø€ ä—:‘:˜gŸk™k¨#Ó.Ó/Ð/r   r   r:   r;   r<   )ÚdictÚitemsr   r   r   r   r   r   r    ÚpytestÚraisesr   ÚUnretrievable)	r"   Úschemar   r#   Ú	resourcesr   r$   r&   r@   s	           @r   Útest_custom_cachez&TestToCachedResource.test_custom_cacheE   s   ø€ ØÐKÐLˆä! &¨aÔ0Ü! &¨aÔ0Ü! &¨aÔ0ñ
ˆð ")§¡£÷
á��Xð ”×'Ñ'¨Ó1Ñ1ð
ˆ	ñ 
ô
 
¤)°AÔ"6Ô	7ó	0ó 
8ð	0ô  XÔ.ˆà×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ò6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKà×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ò6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKð ×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ò6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÑKÐKÐKô �]‰]œ:×3Ñ3Ó4ñ 	6Ø×$Ñ$ _Ô5÷	6ð 	6ùó9
÷8	6ð 	6ús   Á  H0ÈH6È6H?N)Ú__name__Ú
__module__Ú__qualname__r(   r0   r4   rH   © r   r   r
   r
      s   „ ò(ò&(ò&(ó&%6r   r
   )Ú	functoolsr   r   rC   Úreferencingr   r   r   Úreferencing.jsonschemar   Úreferencing.retrievalr   r
   rL   r   r   ú<module>rQ      s&   ðÝ Û ã ç 6Ñ 6Ý .Ý 4÷_6ò _6r   