§
    öÛge  ã                   óð   — d dl Z d dlmZ dZdZddddœdd	d
ddœdœdd	dœdd	iddiddiddddd	dgdœddddd	dddœdœddddd	dddœddd œg	Z G d!„ d"e j        ¦  «        Ze	d#k    r e j
        ¦   «          dS dS )$é    N)zhttp://user@host/index.html)zhost/dbname/path?param=val#fragz#fragz
?param=valz?param=val#fragzuser@z:pass@zu:p@hzu:p@h:1zBpq://user:password@host:port/database?setting=value#public,privateu$   pq://fÃ¦m.com:123/ÃµÃ©f/Ã¡?param=valu*   pq://lÂ»Â»@fÃ¦m.com:123/ÃµÃ©f/Ã¡?param=valu&   pq://fÃ¦áŽ±á�‹m.com/ÃµÃ©f/Ã¡?param=valu6   pq://fÃ¦áŽ±á�‹m.com/ÃµÃ©f/Ã¡?param=val&[setting]=valueÚhostnameÚ1234Úfoo_db)ÚhostÚportÚdatabaseÚusernameÚdatabase_nameÚbarzbl%,23)ÚfooÚfeh)Úuserr   Úsettings)r   r   r   r   Ú	user_namer   ÚpassÚ Ú4321Úpath)r   Úpasswordr   r   r   r   ÚsecretÚsshÚval1Úval2)Úset1Úset2)r   r   r   r   r   r   Ú10Úprefer)r   r   r   r   r   r   Úconnect_timeoutÚsslmodec                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Útest_iric                 óŽ   — d}d}t          j        |¦  «        }t          j        |d¬¦  «        }|                      ||¦  «         dS )z*password is present in IRI, and obscure itzpq://user:pass@host:port/dbnamezpq://user:***@host:port/dbnameT©Úobscure_passwordN©Úpg_iriÚparseÚ	serializeÚassertEqual©ÚselfÚsÚoÚpÚpss        úN/granary/edev/quantum/lib/python3.11/site-packages/postgresql/test/test_iri.pyÚtestPresentPasswordObscurez#test_iri.testPresentPasswordObscureW   sJ   € à'€!Ø&€!Ý„l�1�o„o€!ÝÔ˜¨dÐ3Ñ3Ô3€"Ø×Ò�2�qÑÔÐÐÐó    c                 óŽ   — d}d}t          j        |¦  «        }t          j        |d¬¦  «        }|                      ||¦  «         dS )z0password is *not* present in IRI, and do nothingzpq://user@host:port/dbnameTr#   Nr%   r*   s        r0   r1   z#test_iri.testPresentPasswordObscure_   sJ   € à"€!Ø"€!Ý„l�1�o„o€!ÝÔ˜¨dÐ3Ñ3Ô3€"Ø×Ò�2�qÑÔÐÐÐr2   c                 óf   — t           D ](}|                      t          t          j        |¦  «         Œ)d S )N)Úvalue_errorsÚassertRaisesÚ
ValueErrorr&   r'   )r+   Úxs     r0   ÚtestValueErrorsztest_iri.testValueErrorsg   sA   € Ýð ð €aØ×Ò•ZÝ
„L�!ñô ð ð ðð r2   c                 óh  — d}t           D ]§}t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }|                      ||k    d|›d|›d|›d|›d|›�
¦  «         t          j        |¦  «        }|                      ||k    d|›d|›d|›d|›d|›d|›�¦  «         Œ¨d S )Nzpq://zparse-serialize incongruity, ú -> z : z != )Úiri_samplesr&   r'   r(   Ú
assertTrue)r+   Úschemer8   ÚpxÚspxÚpspxÚspspxs          r0   ÚtestParseSerializeztest_iri.testParseSerializem   së   € Ø€&Ýð ð €aÝŒ�Q‰Œ€2Ý	Ô	˜"Ñ	Ô	€3Ý
Œ,�sÑ
Ô
€4Ø‡?‚?ØˆB‚J€Jà€Q€QˆˆˆˆCˆCˆC����r�rðñô ð õ Ô˜DÑ!Ô!€5Ø‡?‚?Øˆ5‚L€Là€Q€QˆˆˆˆCˆCˆC����u�u�u˜c˜cðñô ð ð ðð r2   c           
      ó°   — t           D ]M}t          j        |¦  «        }t          j        |¦  «        }|                      ||k    d|›d|›d|›�¦  «         ŒNd S )Nzserialize-parse incongruity, r;   )Úsample_structured_parametersr&   r(   r'   r=   )r+   r8   ÚxsÚuxss       r0   ÚtestSerializeParseztest_iri.testSerializeParse�   st   € Ý'ð ð €aÝÔ˜ÑÔ€2Ý	Œ�bÑ	Ô	€3Ø‡?‚?Øˆ‚H€Hà€Q€QˆˆˆˆCˆCðñô ð ð ðð r2   N)Ú__name__Ú
__module__Ú__qualname__r1   r9   rC   rH   © r2   r0   r!   r!   V   s_   € € € € € ðð ð ðð ð ðð ð ðð ð ð(	ð 	ð 	ð 	ð 	r2   r!   Ú__main__)ÚunittestÚpostgresql.iriÚirir&   r5   r<   rE   ÚTestCaser!   rI   ÚmainrL   r2   r0   ú<module>rS      st  ðð €€€Ø Ð Ð Ð Ð Ð ð€ð
€ð$ ØØðð ð ØØ (Ð+Ð+ðð ð Øðð ð
 ˆðð 	ˆ;ðð 	ˆ:ðð ØØØØØˆ8ðð ð ØØØØàØðð ð
ð 
ð ØØØØàØðð ð Øðð ðW8 Ð ðt4ð 4ð 4ð 4ð 4ˆxÔ ñ 4ô 4ð 4ðl ˆzÒÐØ€„�„€€€ð Ðr2   