§
    ˜Štj³0  ã                   óæ   — d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZmZ d dlmZ dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )é    N)Úpatch)ÚCloudClient)ÚChromaAuthErrorÚNotFoundError)ÚUserIdentity)ÚTenantÚDatabase)Úuuid4Úreturnc            	      ó^  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          d¦  «        5 }t          dddg¬¦  «        | _        t          d¬	¦  «        |_        t	          t          ¦   «         dd¬
¦  «        |_        d|_        t          dd¬¦  «        }|                     ¦   «         j        dk    sJ ‚|                     ¦   «         j	        dk    sJ ‚|                     ¦   «         j
        dgk    sJ ‚|                     ¦   «         }|j        dk    sJ ‚|j        dk    sJ ‚|                     ¦   «         dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nú.chromadb.api.fastapi.FastAPI.get_user_identityú*chromadb.api.client.AdminClient.get_tenantú,chromadb.api.client.AdminClient.get_databasez&chromadb.api.fastapi.FastAPI.heartbeatÚ	test_userÚdefault_tenantÚtestdb©Úuser_idÚtenantÚ	databases©Úname©Úidr   r   iÒ–IÚvalid_token©ÚdatabaseÚapi_keyz1chromadb.auth.token_authn.TokenAuthClientProvider)r   r   Úreturn_valuer   r	   r
   r   Úget_user_identityr   r   r   Úget_settingsÚchroma_client_auth_credentialsÚchroma_client_auth_providerÚ	heartbeat)Úmock_get_user_identityÚmock_get_tenantÚmock_get_databaseÚmock_heartbeatÚclientÚsettingss         úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/test/client/test_cloud_client.pyÚtest_valid_keyr,   
   sï  € Ý	Ø8ñ
ô 
ð 0à	¥Ø4ñ"ô "ð0ð 
�%Ø6ñô ð	0ð 
�EØ0ñô ð0ð 
Ý.:ØÐ(8ÀXÀJð/
ñ /
ô /
ÐÔ+õ (.Ð3CÐ'DÑ'DÔ'DˆÔ$Ý)1Ý‰wŒw˜XÐ.>ð*
ñ *
ô *
ÐÔ&ð '1ˆÔ#å h¸ÐFÑFÔFˆà×'Ò'Ñ)Ô)Ô1°[Ò@Ð@Ð@Ð@Ø×'Ò'Ñ)Ô)Ô0Ð4DÒDÐDÐDÐDØ×'Ò'Ñ)Ô)Ô3¸°zÒAÐAÐAÐAà×&Ò&Ñ(Ô(ˆØÔ6¸-ÒGÐGÐGÐGàÔ0ØBòCð Cð Cð Cð ×ÒÑ!Ô! ZÒ/Ð/Ð/Ð/Ð/ð?0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s|   �F" F
°E3Á DE	ÅE3ÅE Å E3Å#E Å$E3Å'F
Å3E7Å7F
Å:E7Å;F
Å>F"Æ
F	ÆF"ÆF	ÆF"Æ"F&Æ)F&c                  ó  — t          d¦  «        5 } t          d¦  «        | _        t          j        t          ¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zAuthentication failedr   Úinvalid_tokenr   ©r   r   Úside_effectÚpytestÚraisesr   ©r%   s    r+   Útest_invalid_keyr4   -   s%  € Ý	Ø8ñ
ô 
ð Dà	Ý-<Ð=TÑ-UÔ-UÐÔ*åŒ]�?Ñ+Ô+ð 	Dð 	DÝ °?ÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	DðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds4   �.A4¾AÁA4ÁA 	Á A4Á#A 	Á$A4Á4A8Á;A8c                  óè  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          dddg¬¦  «        | _        t          d¬¦  «        |_        t	          t          ¦   «         dd¬	¦  «        |_        t          d
¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   ú123-456-789úright-dbr   r   r   r   ©r   )	r   r   r   r   r	   r
   r   r   r   ©r%   r&   r'   r)   s       r+   Ú2test_scoped_api_key_to_single_db_with_api_key_onlyr:   8   sÛ  € Ý	Ø8ñ
ô 
ð .à	¥Ø4ñ"ô "ð.ð 
�%Ø6ñô ð	.ð 
å.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ (.°=Ð'AÑ'AÔ'AˆÔ$Ý)1Ý‰wŒw˜Z°ð*
ñ *
ô *
ÐÔ&õ  ]Ð3Ñ3Ô3ˆð Œ *Ò,Ð,Ð,Ð,ØŒ} Ò-Ð-Ð-Ð-Ð-ð).ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .sX   �C' C°A;B8Â,CÂ8B<Â<CÂ?B<Ã CÃC'ÃC	ÃC'ÃC	ÃC'Ã'C+Ã.C+c                  óê  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          dddg¬¦  «        | _        t          d¬¦  «        |_        t	          t          ¦   «         dd¬	¦  «        |_        t          dd
¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r6   r7   r   r   r   r   ©r   r   ©	r   r   r   r   r	   r
   r   r   r   r9   s       r+   Ú4test_scoped_api_key_to_single_db_with_correct_tenantr>   P   sÛ  € Ý	Ø8ñ
ô 
ð -à	¥Ø4ñ"ô "ð-ð 
�%Ø6ñô ð	-ð 
Ý.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ (.°=Ð'AÑ'AÔ'AˆÔ$Ý)1Ý‰wŒw˜Z°ð*
ñ *
ô *
ÐÔ&õ  M¸=ÐIÑIÔIˆàŒ} Ò-Ð-Ð-Ð-ØŒ *Ò,Ð,Ð,Ð,Ð,ð%-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -óX   �C( C°A<B9Â-CÂ9B=Â=CÃ B=ÃCÃC(ÃC	ÃC(ÃC	ÃC(Ã(C,Ã/C,c                  óê  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          dddg¬¦  «        | _        t          d¬¦  «        |_        t	          t          ¦   «         dd¬	¦  «        |_        t          dd
¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r6   r7   r   r   r   r   r   r=   r9   s       r+   Ú0test_scoped_api_key_to_single_db_with_correct_dbrA   f   sÛ  € Ý	Ø8ñ
ô 
ð -à	¥Ø4ñ"ô "ð-ð 
�%Ø6ñô ð	-ð 
Ý.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ (.°=Ð'AÑ'AÔ'AˆÔ$Ý)1Ý‰wŒw˜Z°ð*
ñ *
ô *
ÐÔ&õ  j¸-ÐHÑHÔHˆàŒ} Ò-Ð-Ð-Ð-ØŒ *Ò,Ð,Ð,Ð,Ð,ð%-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -r?   c                  óì  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          dddg¬¦  «        | _        t          d¬¦  «        |_        t	          t          ¦   «         dd¬	¦  «        |_        t          ddd
¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r6   r7   r   r   r   r   ©r   r   r   r=   r9   s       r+   Ú;test_scoped_api_key_to_single_db_with_correct_tenant_and_dbrD   |   sæ  € Ý	Ø8ñ
ô 
ð -à	¥Ø4ñ"ô "ð-ð 
�%Ø6ñô ð	-ð 
Ý.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ (.°=Ð'AÑ'AÔ'AˆÔ$Ý)1Ý‰wŒw˜Z°ð*
ñ *
ô *
ÐÔ&õ Ø ¨:¸}ð
ñ 
ô 
ˆð Œ} Ò-Ð-Ð-Ð-ØŒ *Ò,Ð,Ð,Ð,Ð,ð)-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -sX   �C) C°A=B:Â.CÂ:B>Â>CÃB>ÃCÃC)ÃC	ÃC)ÃC	ÃC)Ã)C-Ã0C-c                  ó  — t          d¦  «        5 } t          dddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          dd	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r6   r7   r   úcTenant wrong-tenant does not match 123-456-789 from the server. Are you sure the tenant is correct?©Úmatchúwrong-tenantr   r<   ©r   r   r   r1   r2   r   r   r3   s    r+   Ú2test_scoped_api_key_to_single_db_with_wrong_tenantrK   ”   sE  € Ý	Ø8ñ
ô 
ð Fà	Ý.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ Œ]ÝØwð
ñ 
ô 
ð 	Fð 	Fõ ˜~°}ÐEÑEÔEÐEð		Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	FðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fó5   �4A:ÁA"ÁA:Á"A&	Á&A:Á)A&	Á*A:Á:A>ÂA>c                  ó  — t          d¦  «        5 } t          dddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          dd	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r6   r7   r   z`Database wrong-db does not match right-db from the server. Are you sure the database is correct?rG   úwrong-dbr   r   rJ   r3   s    r+   Ú4test_scoped_api_key_to_single_db_with_wrong_databaserO   £   sE  € Ý	Ø8ñ
ô 
ð Dà	Ý.:Ø¨À*Àð/
ñ /
ô /
ÐÔ+õ Œ]ÝØtð
ñ 
ô 
ð 	Dð 	Dõ  °]ÐCÑCÔCÐCð		Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	DðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð DrL   c                  ó  — t          d¦  «        5 } t          d¦  «        | _        t          j        t          d¬¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zPermission denied.rG   r7   zwrong-api-keyr   r/   r3   s    r+   Ú3test_scoped_api_key_to_single_db_with_wrong_api_keyrQ   ²   s+  € Ý	Ø8ñ
ô 
ð Fà	Ý-<Ð=QÑ-RÔ-RÐÔ*åŒ]�?Ð2FÐGÑGÔGð 	Fð 	FÝ °_ÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	FðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs5   �0A6Á AÁA6ÁA"	Á"A6Á%A"	Á&A6Á6A:Á=A:c                  ó  — t          d¦  «        5 } t          ddddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d	dd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r6   r7   ú
another-dbr   rF   rG   rI   r   rC   rJ   r3   s    r+   Ú5test_scoped_api_key_to_multiple_dbs_with_wrong_tenantrT   ½   s1  € Ý	Ø8ñ
ô 
ð à	Ý.:ØØ Ø! <Ð0ð/
ñ /
ô /
ÐÔ+õ Œ]ÝØwð
ñ 
ô 
ð 	ð 	õ Ø%°
ÀMðñ ô ð ð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   �5A<ÁA$ÁA<Á$A(	Á(A<Á+A(	Á,A<Á<B ÂB c            	      óî  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          ddddg¬¦  «        | _        t          d¬	¦  «        |_        t	          t          ¦   «         dd¬
¦  «        |_        t          ddd¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r6   r7   rS   r   r   r   r   rC   r=   r9   s       r+   Ú>test_scoped_api_key_to_multiple_dbs_with_correct_tenant_and_dbrV   Ð   së  € Ý	Ø8ñ
ô 
ð -à	¥Ø4ñ"ô "ð-ð 
�%Ø6ñô ð	-ð 
Ý.:ØØ Ø! <Ð0ð/
ñ /
ô /
ÐÔ+õ
 (.°=Ð'AÑ'AÔ'AˆÔ$Ý)1Ý‰wŒw˜Z°ð*
ñ *
ô *
ÐÔ&õ Ø ¨:¸}ð
ñ 
ô 
ˆð Œ} Ò-Ð-Ð-Ð-ØŒ *Ò,Ð,Ð,Ð,Ð,ð--ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -sX   �C* C°A>B;Â/CÂ;B?Â?CÃB?ÃCÃC*ÃC	ÃC*ÃC	ÃC*Ã*C.Ã1C.c            	      óþ  — t          d¦  «        5 } t          d¦  «        5 }t          d¦  «        5 }t          ddddg¬¦  «        | _        t          d¬	¦  «        |_        t	          d
¦  «        |_        t          j        t          d¬¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r6   r7   rS   r   r   z6Database [wrong-db] not found. Are you sure it exists?z8Database \[wrong-db\] not found. Are you sure it exists?rG   rN   r   r   )	r   r   r   r   r   r0   r1   r2   r   )r%   r&   r'   s      r+   Ú=test_scoped_api_key_to_multiple_dbs_with_nonexistent_databaserX   ê   sc  € Ý	Ø8ñ
ô 
ð Dà	¥Ø4ñ"ô "ðDð 
�%Ø6ñô ð	Dð 
Ý.:ØØ Ø! <Ð0ð/
ñ /
ô /
ÐÔ+õ
 (.°=Ð'AÑ'AÔ'AˆÔ$Ý(5ØDñ)
ô )
ÐÔ%õ Œ]ÝØNð
ñ 
ô 
ð 	Dð 	Dõ  °]ÐCÑCÔCÐCð		Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð#Dð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds|   �C2 C°ACÂB,	Â CÂ,B0Â0CÂ3B0Â4CÂ7CÃCÃCÃ
CÃCÃC2ÃC	ÃC2Ã!C	Ã"C2Ã2C6Ã9C6c                  ó  — t          d¦  «        5 } t          ddddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r6   r7   rS   r   úkCould not determine a database name from the current authentication method. Please provide a database name.rG   r   r8   rJ   r3   s    r+   Ú5test_scoped_api_key_to_multiple_dbs_with_api_key_onlyr[     s$  € Ý	Ø8ñ
ô 
ð /à	Ý.:ØØ Ø! <Ð0ð/
ñ /
ô /
ÐÔ+õ Œ]ÝØð
ñ 
ô 
ð 	/ð 	/õ  Ð.Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s5   �5A:ÁA"ÁA:Á"A&	Á&A:Á)A&	Á*A:Á:A>ÂA>c                  ó  — t          d¦  «        5 } t          dddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r   Ú*r7   r   ú]Could not determine a tenant from the current authentication method. Please provide a tenant.rG   r   r8   rJ   r3   s    r+   Ú!test_api_key_with_unscoped_tenantr_     s  € Ý	Ø8ñ
ô 
ð /à	Ý.:Ø¨¸
°|ð/
ñ /
ô /
ÐÔ+õ Œ]ÝØqð
ñ 
ô 
ð 	/ð 	/õ  Ð.Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ó5   �4A9ÁA!ÁA9Á!A%	Á%A9Á(A%	Á)A9Á9A=Â A=c                  ó  — t          d¦  «        5 } t          dddg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r   r6   r]   r   rZ   rG   r   r8   rJ   r3   s    r+   Útest_api_key_with_unscoped_dbrb   $  s  € Ý	Ø8ñ
ô 
ð /à	Ý.:Ø¨À#Àð/
ñ /
ô /
ÐÔ+õ Œ]ÝØð
ñ 
ô 
ð 	/ð 	/õ  Ð.Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /r`   c                  ó
  — t          d¦  «        5 } t          ddg ¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r   r6   r   rZ   rG   r   r8   rJ   r3   s    r+   Útest_api_key_with_no_db_accessrd   3  s  € Ý	Ø8ñ
ô 
ð /à	Ý.:Ø¨Àð/
ñ /
ô /
ÐÔ+õ Œ]ÝØð
ñ 
ô 
ð 	/ð 	/õ  Ð.Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s5   �3A8ÁA ÁA8Á A$	Á$A8Á'A$	Á(A8Á8A<Á?A<c                  ó  — t          d¦  «        5 } t          dd dg¬¦  «        | _        t          j        t
          d¬¦  «        5  t          d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r   r7   r   r^   rG   r   r8   rJ   r3   s    r+   Ú"test_api_key_with_no_tenant_accessrf   B  s  € Ý	Ø8ñ
ô 
ð /à	Ý.:Ø¨¸¸ð/
ñ /
ô /
ÐÔ+õ Œ]ÝØqð
ñ 
ô 
ð 	/ð 	/õ  Ð.Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /r`   )r   N) r1   Úunittest.mockr   Úchromadbr   Úchromadb.errorsr   r   Úchromadb.authr   Úchromadb.typesr   r	   Úuuidr
   r,   r4   r:   r>   rA   rD   rK   rO   rQ   rT   rV   rX   r[   r_   rb   rd   rf   © ó    r+   ú<module>ro      sù  ðØ €€€Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø &Ð &Ð &Ð &Ð &Ð &Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð ð 0ð  0ð  0ð  0ðFDð Dð Dð Dð.ð .ð .ð .ð0-ð -ð -ð -ð,-ð -ð -ð -ð,-ð -ð -ð -ð0Fð Fð Fð FðDð Dð Dð DðFð Fð Fð Fðð ð ð ð&-ð -ð -ð -ð4Dð Dð Dð Dð2/ð /ð /ð /ð$/ð /ð /ð /ð/ð /ð /ð /ð/ð /ð /ð /ð/ð /ð /ð /ð /ð /rn   