o
    pj                     @  s   d Z ddlmZ ddlZddlZddlmZ ddlmZ ee	
 jd Zejdee ejdZedurAeedsAejd= dd	lmZ G d
d dejZedkr\ejdd dS dS )z5Checks for tenant-aware OpenAI credential resolution.    )annotationsN)Path)patch   platform__path__)openai_clientc                   @  sT   e Zd Zejdi ddeddd Zejdi ddeddd Zd	d
 ZdS )AiClientChecksz
os.environT)clearz(platform.ai.openai_client._read_key_filec                 C  s,   dd }||_ tjddd}| d| d S )Nc                 S  s(   t | }|drdS |drdS d S )Nz"tenants/absolutems/wp_invoices.key
tenant-keydev.keydevelopment-keystrendswith)pathtext r   "tests/platform/ai_client_checks.pyvalue   s   zSAiClientChecks.test_tenant_app_key_has_priority_over_development_key.<locals>.valuewp_invoices
absolutems)	tenant_idr   )side_effectr   _resolve_api_keyassertEqual)selfreadr   keyr   r   r   5test_tenant_app_key_has_priority_over_development_key   s   zDAiClientChecks.test_tenant_app_key_has_priority_over_development_keyc                 C  s    dd |_ | dtd d S )Nc                 S  s   t | dr	dS d S )Nr   r   r   )r   r   r   r   <lambda>    s    zFAiClientChecks.test_development_key_remains_fallback.<locals>.<lambda>r   r   )r   r   r   r   )r   r   r   r   r   %test_development_key_remains_fallback   s   
z4AiClientChecks.test_development_key_remains_fallbackc                 C  s,   |  dtddi |  dti  d S )NiP  
file_bytess   imagei  )r   r   _estimated_capacity)r   r   r   r   2test_visual_request_reserves_conservative_capacity#   s   zAAiClientChecks.test_visual_request_reserves_conservative_capacityN)__name__
__module____qualname__r   dictr   r!   r$   r   r   r   r   r	      s    
r	   __main__)	verbosity)__doc__
__future__r   sysunittestpathlibr   unittest.mockr   __file__resolveparentsPROJECT_ROOTr   insertr   modulesgetloaded_platformhasattrbridge_platform.air   TestCaser	   r%   mainr   r   r   r   <module>   s    