File: //var/opt/nydus/ops/referencing/tests/__pycache__/test_retrieval.cpython-39.pyc
a
�,�h� � @ sZ d dl mZ d dlZd dlZd dlmZmZmZ d dlm Z d dl
mZ G dd� d�ZdS )� )� lru_cacheN)�Registry�Resource�
exceptions)�DRAFT202012)�to_cached_resourcec @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�TestToCachedResourcec sp ddi}t �|�g� t� � fdd��}t|d�}t�|�}|�d�}|j|ksRJ �|�d�}|j|ju slJ �d S )N�$schema�,https://json-schema.org/draft/2020-12/schemac s � � � S �N��pop��uri��stack� �Q/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/referencing/tests/test_retrieval.py�retrieve s zITestToCachedResource.test_it_caches_retrieved_resources.<locals>.retrieve�r �urn:example:schema��json�dumpsr r r �
from_contents�get_or_retrieve�value��self�contentsr �registry�expected�gotZagainr r r �"test_it_caches_retrieved_resources s
z7TestToCachedResource.test_it_caches_retrieved_resourcesc s� ddi}t �|�d d d� g� tdd� d�� fdd��}t|d �}t�|�}|�d
�}|j|ksdJ �|�d
�}|j|ju s~J �d S )Nr r
���c S s t �| d d d� �S )Nr$ )r �loads)�sr r r �<lambda># � z9TestToCachedResource.test_custom_loader.<locals>.<lambda>)r% c s � � � S r r r r r r r # s z9TestToCachedResource.test_custom_loader.<locals>.retriever r r r r r r �test_custom_loader s
z'TestToCachedResource.test_custom_loaderc sr i }t �|�g� ttjd�� fdd��}t|d�}t�|�}|�d�}|j|ksTJ �|�d�}|j|ju snJ �d S )N)r c s � � � S r r r r r r r 6 s z@TestToCachedResource.test_custom_from_contents.<locals>.retriever r )r r r r Zcreate_resourcer r r r r r r �test_custom_from_contents2 s
z.TestToCachedResource.test_custom_from_contentsc s~ ddi}t |dd�t |dd�t |dd�d�� dd � � �� D �}ttdd
�d�� fdd
��}t|d�}|�d�}|j|d ks�J �|�d�j|ju s�J �|�d�j|ju s�J �|�d�}|j|d ks�J �|�d�j|ju s�J �|�d�j|ju s�J �|�d�}|j|d k�sJ �|�d�j|ju �s*J �|�d�j|ju �sBJ �t�t j
�� |�d� W d � n1 �sp0 Y d S )Nr r
� )Zfoo� � )�
urn:example:1�
urn:example:2�
urn:example:3c S s i | ]\}}|t �|��qS r )r r )�.0r r r r r �
<dictcomp>M s �z:TestToCachedResource.test_custom_cache.<locals>.<dictcomp>)�maxsize)�cachec s t �� �| ��S r )r r r
r ��mappingr r r R s z8TestToCachedResource.test_custom_cache.<locals>.retriever r. r/ r0 )�dict�itemsr r r r r �pytestZraisesr Z
Unretrievable)r Zschema� resourcesr r r"