+
    {jj
                         ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHtHtH	t	  ! R R]4      t
 ! R R]P                  4      t]R8X  d   ]P                  ! 4        R# R# )	    N)BaseHTTPRequestHandlerThreadingHTTPServer)EngineClientEngineConnectionErrorEngineResponseErrorc                   8   a  ] tR t^	t o R tR tR tR tRtV t	R# )FakeEngineHandlerc                    V P                   R 8X  d   V P                  ^RRRR/4       R# V P                  RRR/4       R# )	z/api/healthstatusokservicezfake-engineN  error	not_found)path	send_json)selfs   &WC:\Users\User\Documents\New project\scresyns-tritroia-platform\tests\test_engine_sdk.pydo_GETFakeEngineHandler.do_GET
   s;    99%NN34M JKsWk23    c                B   V P                   R 8w  d   V P                  RRR/4       R# \        V P                  P	                  RR4      4      p\
        P                  ! V P                  P                  V4      4      pV P                  ^RRR	R
RRVR,          RR//4       R# )z/api/generater   r   r   NContent-Length0r   createdassetid
asset-testprompt	imageHashz	hash-test)	r   r   intheadersgetjsonloadsrfileread)r   lengthpayloads   &  r   do_POSTFakeEngineHandler.do_POST   s    99'NN3+ 67T\\%%&6<=**TZZ__V45sXy',gh'<
  	r   c                4   \         P                  ! V4      P                  R 4      pV P                  V4       V P	                  RR4       V P	                  R\        \        V4      4      4       V P                  4        V P                  P                  V4       R# )zutf-8zContent-Typezapplication/jsonr   N)
r$   dumpsencodesend_responsesend_headerstrlenend_headerswfilewrite)r   r   r)   bodys   &&& r   r   FakeEngineHandler.send_json   sq    zz'"))'26");<)3s4y>:

r   c                    R # N )r   _argss   &*r   log_messageFakeEngineHandler.log_message$   s    r   r:   N)
__name__
__module____qualname____firstlineno__r   r*   r   r<   __static_attributes____classdictcell____classdict__s   @r   r	   r	   	   s     4
 r   r	   c                   X   a  ] tR t^(t o ]R 4       t]R 4       tR tR tR t	R t
RtV tR# )	EngineSdkTestsc                   \        R\        4      V n        \        P                  ! V P                  P
                  RR7      V n        V P                  P                  4        RV P                  P                   2V n	        R# )	127.0.0.1T)targetdaemonzhttp://127.0.0.1:N)rI   r   )
r   r	   server	threadingThreadserve_foreverthreadstartserver_portbase_urlclss   &r   
setUpClassEngineSdkTests.setUpClass)   sY    ()9;LM
%%SZZ-E-EdS


*3::+A+A*BCr   c                n    V P                   P                  4        V P                  P                  4        R # r9   )rL   shutdownrP   joinrT   s   &r   tearDownClassEngineSdkTests.tearDownClass0   s     



r   c                    \        V P                  4      pV P                  VP                  4       R ,          R4       V P	                  VP                  4       R,          4       R# )r   r   	connectedN)r   rS   assertEqualhealth
assertTruer   r   clients   & r   test_health_and_status%EngineSdkTests.test_health_and_status5   sB    dmm,2D945r   c                    \        V P                  4      pVP                  R R.R7      pV P                  VR,          R,          R4       V P                  VR,          R,          R 4       R# )zuma identidade visualz#00ffaa)colorsr   r   r   r   N)r   rS   generater_   )r   rc   results   &  r    test_generate_preserves_contract/EngineSdkTests.test_generate_preserves_contract:   sX    dmm,!8)M.=24KLr   c                    \        R RR7      pV P                  \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)http://127.0.0.1:1皙?timeoutN)r   assertRaisesr   r`   rb   s   & r   ,test_invalid_generation_response_is_rejected;EngineSdkTests.test_invalid_generation_response_is_rejected@   s9    2C@455MMO 6555s   AA	c                    \        R RR7      pVP                  4       pV P                  VR,          4       V P                  RV4       R# )rm   rn   ro   r^   r   N)r   r   assertFalseassertIn)r   rc   r   s   &  r   'test_status_is_safe_when_engine_is_down6EngineSdkTests.test_status_is_safe_when_engine_is_downE   s;    2C@,-gv&r   r:   N)r>   r?   r@   rA   classmethodrV   r[   rd   rj   rr   rw   rB   rC   rD   s   @r   rG   rG   (   sG     D D  6
M
' 'r   rG   __main__)r$   rM   unittesthttp.serverr   r   
engine_sdkr   r   r   r	   TestCaserG   r>   mainr:   r   r   <module>r      sO       C O O. >!'X&& !'H zMMO r   