Ë
    Ýj
  ã                   óx   — d Z ddlZddlmZ ddlmZ ddlmZ  G d„ de«      Ze	dk(  r ej                  «        yy)	uŠ   Ehemals AriaOrchestrator (AusfÃ¼hrung ohne Policy). Der Orchestrator ist
entfernt; dieselben Absichten gelten jetzt fÃ¼r Gateway.handle().é    N)ÚMockAdapter)ÚHandling)ÚGatewayTestCasec                   óB   ‡ — e Zd Zˆ fd„Zddœd„Zd„ Zd„ Zd„ Zd„ Zˆ xZ	S )	ÚOrchestratorTestsc                 ó>   •— t         ‰| �  «        d | _        d | _        y )N)ÚsuperÚsetUpÚcodexÚclaude)ÚselfÚ	__class__s    €ú8/home/aria/aria-v3-dev/python/tests/test_orchestrator.pyr
   zOrchestratorTests.setUp   s   ø€ Ü‰‰ŒØˆŒ
Øˆ�ó    T©Ú
with_codexc                ó0   ‡ — ˆ fd„}ˆ fd„}|r||dœS d |dœS )Nc                 ó>   •— t        | d«      ‰_        ‰j                  S )Nr   )r   r   ©Úverifierr   s    €r   r   z*OrchestratorTests.factories.<locals>.codex   s   ø€ Ü$ X¨wÓ7ˆDŒJØ—:‘:Ðr   c                 ó>   •— t        | d«      ‰_        ‰j                  S )Nr   )r   r   r   s    €r   r   z+OrchestratorTests.factories.<locals>.claude   s   ø€ Ü% h°Ó9ˆDŒKØ—;‘;Ðr   )r   r   © )r   r   r   r   s   `   r   Ú	factorieszOrchestratorTests.factories   s&   ø€ ô	ô	ñ #-˜À&ÑIÐI°$À&ÑIÐIr   c                 ó¦  — | j                  | j                  «       ¬«      j                  | j                  dd«      «      }| j	                  |j
                  t        j                  «       | j	                  |j                  d«       | j	                  | j                  j                  d«       | j	                  | j                  j                  d«       y )N©Úadapter_factoriesé   ú#public analyser   r   )Úgatewayr   ÚhandleÚrequestÚassertEqualÚhandlingr   ÚREPLYÚbackendr   Úcallsr   )r   Úresults     r   Útest_codex_executionz&OrchestratorTests.test_codex_execution   s‘   € Ø—‘°·±Ó0@�ÓA×HÑHÈÏÉÐVWÐYjÓIkÓlˆà×Ñ˜Ÿ™¬(¯.©.Ô9Ø×Ñ˜Ÿ™¨Ô1Ø×Ñ˜Ÿ™×)Ñ)¨1Ô-Ø×Ñ˜Ÿ™×*Ñ*¨AÕ.r   c                 ó|  — | j                  dddii| j                  «       ¬«      }|j                  | j                  dd«      «      }| j	                  |j
                  t        j                  «       | j	                  | j                  j                  d«       | j	                  | j                  j                  d«       y )NÚprivacyÚclaude_status_quo_confidentialFr   é   zAnalyse der BMW-Lieferketter   )r   r   r    r!   r"   r#   r   ÚBLOCKEDr   r&   r   ©r   r   r'   s      r   Ú"test_confidential_job_not_executedz4OrchestratorTests.test_confidential_job_not_executed$   s•   € Ø—,‘, 	Ð,LÈeÐ+TÐUØ15·±Ó1Að ó Cˆà—‘ §¡¨QÐ0MÓ NÓOˆà×Ñ˜Ÿ™¬(×*:Ñ*:Ô;Ø×Ñ˜Ÿ™×)Ñ)¨1Ô-Ø×Ñ˜Ÿ™×*Ñ*¨AÕ.r   c                 óÌ  — | j                  | j                  d¬«      ¬«      }|j                  | j                  dd«      «      }| j	                  |j
                  t        j                  «       | j	                  |j                  d«       | j                  |«      d   }t        d„ |d	   d
   D «       «      }| j                  d|d   «       | j                  |d   d   d   «       y )NFr   r   é   z/codex #public analyseÚMANUAL_CHOICE_NOT_PERMITTEDéÿÿÿÿc              3   ó2   K  — | ]  }|d    dk(  sŒ|–— Œ y­w)r%   r   Nr   )Ú.0Úcs     r   ú	<genexpr>z9OrchestratorTests.test_missing_adapter.<locals>.<genexpr>4   s   è ø€ Ò[˜1À1ÀYÁ<ÐSZÓCZ”QÑ[ùs   ‚�ÚroutingÚ
candidatesÚUNAVAILABLEÚreasonsÚbackend_stater   Úadapter)r   r   r    r!   r"   r#   r   r-   ÚcodeÚlog_recordsÚnextÚassertInÚassertFalse)r   r   r'   Úrecordr   s        r   Útest_missing_adapterz&OrchestratorTests.test_missing_adapter-   sÅ   € Ø—,‘,°·±È5°Ó1Q�,ÓRˆØ—‘ §¡¨QÐ0HÓ IÓJˆà×Ñ˜Ÿ™¬(×*:Ñ*:Ô;Ø×Ñ˜Ÿ™Ð&CÔDØ×!Ñ! 'Ó*¨2Ñ.ˆÜÑ[  yÑ 1°,Ñ ?Ô[Ó[ˆØ�‰�m U¨9Ñ%5Ô6Ø×Ñ˜ Ñ0°Ñ9¸)ÑDÕEr   c                 ól  — | j                  ddddiii| j                  «       ¬«      }|j                  | j                  dd«      «      }| j	                  |j
                  t        j                  «       | j	                  |j                  d«       | j	                  | j                  j                  d«       y )	NÚbackendsr   Úqualityé_   r   é   r   r   )r   r   r    r!   r"   r#   r   r$   r%   r   r&   r.   s      r   Útest_claude_executionz'OrchestratorTests.test_claude_execution8   sŒ   € Ø—,‘, 
¨X¸	À2°Ð,GÐHÐ\`×\jÑ\jÓ\l�,ÓmˆØ—‘ §¡¨QÐ0AÓ BÓCˆà×Ñ˜Ÿ™¬(¯.©.Ô9Ø×Ñ˜Ÿ™¨Ô2Ø×Ñ˜Ÿ™×*Ñ*¨AÕ.r   )
Ú__name__Ú
__module__Ú__qualname__r
   r   r(   r/   rD   rJ   Ú__classcell__)r   s   @r   r   r      s(   ø„ ôð
 '+ô Jò/ò/ò	Fö/r   r   Ú__main__)Ú__doc__ÚunittestÚaria_router.adaptersr   Úaria_router.gatewayr   Útests.helpersr   r   rK   Úmainr   r   r   ú<module>rV      s>   ðñEã å ,Ý (å )ô3/˜ô 3/ðl ˆzÒØ€H‡M�M…Oð r   