
    Hbb                     ^   d dl Z d dlmZmZmZmZ d dlmZ d Zd Z	d Z
 G d de          Ze j                            d	 ed
dd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           eddd           ed dd           ed!dd"           ed#dd"           ed$dd           ed%dd           ed&dd'           ed(dd'          g          d	efd)            ZdS )*    N)is_ipv6unwrap_ipv6	wrap_ipv6
valid_addr)
NamedTuplec                  ^    dD ]} t          |           sJ dD ]}t          |          rJ d S )N)[::1]::1z&fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)z	127.0.0.1z'ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffgz1:2:3:4:5:6:7:8:9
fd00::1::1z[fg::1])r   )goodbads     7/usr/lib/python3/dist-packages/ceph/tests/test_utils.pytest_is_ipv6r      sZ    ;  t}}>     3<<       c                  <    d } g d}|D ]\  }} | ||           d S )Nc                 0    t          |           |k    sJ d S N)r   addressexpecteds     r   unwrap_testz%test_unwrap_ipv6.<locals>.unwrap_test   s!    7##x//////r   ))r
   r
   )r	   r
   )#[fde4:8dba:82e1:0:5054:ff:fe6a:357]!fde4:8dba:82e1:0:5054:ff:fe6a:357)can actually be any stringr   )[but needs to be stripped] r    )r   testsr   r   s       r   test_unwrap_ipv6r      sZ    0 0 0H H HE
 # ' 'GX&&&&' 'r   c                  <    d } g d}|D ]\  }} | ||           d S )Nc                 0    t          |           |k    sJ d S r   )r   r   s     r   	wrap_testz!test_wrap_ipv6.<locals>.wrap_test   s!    !!X------r   ))r
   r	   )r	   r	   )r   r   )myhost.example.comr"   )192.168.0.1r#   ) r$   )r   r   r   )r!   r   r   r   s       r   test_wrap_ipv6r%      sW    . . .0 0 0E
 # % %	'8$$$$% %r   c                   .    e Zd ZU eed<   eed<   eed<   dS )AddressaddrstatusdescriptionN)__name__
__module____qualname__str__annotations__boolr   r   r   r'   r'   +   s0         
IIILLLr   r'   addr_objectzwww.ibm.comTNamezwww.google.com:162z	Name:Portz!my.big.domain.name.for.big.peopleFzDNS lookup failedz192.168.122.1IPv4z[192.168.122.1]z+IPv4 address wrapped in brackets is invalidz10.40003.200zInvalid partial IPv4 addressz10.7.5z10.7z192.168.122.5:7090z	IPv4:Portzfe80::7561:c8fb:d3d7:1fa4IPv6z [fe80::7561:c8fb:d3d7:1fa4]:9464z	IPv6:Portz[fe80::7561:c8fb:d3d7:1fa4]z[fe80::7561:c8fb:d3d7:1fa4z:Address has incorrect/incomplete use of enclosing bracketszfe80::7561:c8fb:d3d7:1fa4]zfred.knockinson.orgztumbleweed.pickles.gov.auz192.168.122.5:00PSzPort must be numericz[fe80::7561:c8fb:d3d7:1fa4]:DOHc                 h    t          | j                  \  }}|| j        k    sJ || j        k    sJ d S r   )r   r(   r)   r*   )r1   validr*   s      r   test_valid_addrr7   1   sG    0 $K$455E;K&&&&&+1111111r   )pytestceph.deployment.utilsr   r   r   r   typingr   r   r   r%   r'   markparametrizer7   r   r   r   <module>r=      s>    M M M M M M M M M M M M           
' 
' 
'
% 
% 
%    j    GM4((G $44G/8KLLGOT6**Gu&STTGNE#ABBGHe;<<GFE9::G $44G'v66G.kBBG)488G(%HJ JG(%HJ JG!5*=>>G'0CDDG %)?@@G-u6LMM))  ,2 2 2 2- ,2 2 2r   