File: //var/opt/nydus/ops/referencing/tests/__pycache__/test_core.cpython-39.pyc
a
�,�hޓ � @ s� d dl mZ d dlZd dlmZmZmZmZmZ d dl m
Z
eddd� dd� d d� d
d� d�Zdd
� ZG dd� d�Z
G dd� d�ZG dd� d�ZG dd� d�ZG dd� d�Zej�deeeeejg�dd� �ZdS )� )�HashTrieMapN)�Anchor�Registry�Resource�
Specification�
exceptions)�DRAFT202012zid-and-childrenc C s
| � d�S )N�ID��get��contents� r �L/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/referencing/tests/test_core.py�<lambda> � r c C s | � dg �S )N�childrenr
r r r r r
r c s � fdd�|� di ��� D �S )Nc s$ g | ]\}}t |� j|d �d��qS )r ��name�resource)r �create_resource)�.0r �each��
specificationr r �
<listcomp> s
�
�z<lambda>.<locals>.<listcomp>�anchors)r �items�r r
r r r r s
�c C s6 t | �d s2tdd� | d d d� D ��r2|�|�S |S )N� c s s | ]}|d kV qdS )r Nr �r r r r r � <genexpr> r z<lambda>.<locals>.<genexpr>)�len�all�in_subresource��segments�resolverZsubresourcer r r r s
���r �id_of�subresources_of�
anchors_inZmaybe_in_subresourcec C s t d��dS )zQ
A retriever suitable for use in tests which expect it never to be used.
z2This retrieve function expects to never be called!N)�RuntimeError��urir r r �blow_up s r/ c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Zd;d<� Z d=d>� Z!d?d@� Z"dAdB� Z#dCdD� Z$dEdF� Z%dGdH� Z&dIdJ� Z'dKdL� Z(dMdN� Z)dOdP� Z*dQdR� Z+dSdT� Z,dUdV� Z-dWdX� Z.dYdZ� Z/d[d\� Z0d]d^� Z1d_S )`�TestRegistryc C s8 t jddid�}d}t� j||d�}|| |u s4J �dS )zQ
Adding a resource to the registry then allows re-retrieving it.
�foo�barr �urn:example�r. r N)r �opaquer �
with_resource��selfr r. �registryr r r �test_with_resource# s zTestRegistry.test_with_resourcec C sZ t ji d�}t dditd�}t� �d|fd|fg�}|t� jd|d�jd|d�ksVJ �dS ) zT
Adding multiple resources to the registry is like adding each one.
r r1 r2 �r
r �http://example.com/1�http://example.com/foo/barr4 N)r r5 �ID_AND_CHILDRENr �with_resourcesr6 �r8 �one�twor9 r r r �test_with_resources- s ����z TestRegistry.test_with_resourcesc C s8 d}t �|dd��}|t� }|t� �||�ks4J �d S )Nzurn:example:resource� �r r1 )r>