
    mjR                     b    d dl Zd dlmc mZ d dlmZmZmZ d dl	m
Z
 d dlmZmZ d dlmZ ddZy)    N)UTCdatetime	timedelta)
app_config)AgentRegistrationRemoteEvent)Watcherc                    t        t        | dz        |       }t        ddddddd      }t        d	|d
ddt	        dddddt
              ddd      }	 |j                  |      }|j                  |      }g }|d   }|}|r
|d   }	|	 }
|
}|sddt        j                  |      iz  }|j                  |       |r+ddt        j                  	      iz  }|j                  |       t        j                  |d      i z  }dd|iz  }t        t        j                  |            d x}x}x}x}	}
|d   }|s8ddt        j                  |      iz  }t        t        j                  |            d }|j                  j                  d       j                         d   }d}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|j                  j                  d%      j                         d   }d}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|j"                  j%                         d   }|d&   }d
}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|d'   }d}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|d(   }d}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|j"                  j'                  t	        j(                  t
              t+        d)*      z   d+       |j"                  j%                         d   }|d,   }d-}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|d.   }d-}||k(  }|slt        j                   d!|fd"||f      t        j                  |      t        j                  |      d#z  }d$d|iz  }t        t        j                  |            d x}x}}|j-                          y # |j-                          w xY w)/Nzremote.sqlitezagent.remote.carloCarloz0.1vpscarlopython)	heartbeat
run_eventszevent-1zworker.carlo.transcriptzyoutube.transcript.batchr   i           r   )tzinfo
Transcript<   )display_namestale_after_secondsaccepted	duplicatez%(py3)spy3znot %(py6)spy6zassert %(py10)spy10zassert %(py1)spy1z%SELECT COUNT(*) FROM execution_agents)==)z%(py1)s == %(py4)s)r   py4zassert %(py6)sz"SELECT COUNT(*) FROM remote_events
worker_keylocation_typehost   )secondsx   observation_statusstalehealth_status)r	   r   r   r   r   r   ingest_remote_event
@pytest_ar	_safereprappend_format_boolopAssertionError_format_explanation
connectionexecutefetchone_call_reprcompare
repositorystatus_rowsrefresh_remote_stalenessnowr   close)tmp_pathwatcheragenteventfirstsecond@py_assert1@py_assert2@py_assert0@py_assert5@py_assert7@py_format4@py_format8@py_format9@py_format11@py_format2@py_assert3@py_format5@py_format7row	stale_rows                        U/opt/struktur/hermes-workspace/worker-watcher/tests/integration/test_remote_ingest.py>test_remote_worker_registers_and_duplicate_event_is_idempotentrP      s   jO!;<hGG2GUE7T\^yzE	5*CE_al q!R3?R^wyAz|E++E2,,U3;uZ ; ; {);;);%;;%;;;; ;;;; ;;;);;;;;;;;;;;;;;k""""""""""""!!))*QR[[]^_`edee`deeeee`deeee`eeedeeeeeeee!!))*NOXXZ[\]babb]abbbbb]abbbb]bbbabbbbbbbb  ,,.q1< =$== $===== $==== ===$========?#,u,#u,,,,#u,,,#,,,u,,,,,,,6{%g%{g%%%%{g%%%{%%%g%%%%%%%33HLL4E	Z]H^4^`cd&&224Q7	-.9'9.'9999.'999.999'9999999)4W4)W4444)W444)444W4444444s   U"W W)returnN)builtins@py_builtins_pytest.assertion.rewrite	assertionrewriter+   r   r   r   tests.conftestr   worker_watcher.modelsr   r   worker_watcher.watcherr	   rP        rO   <module>r\      s       - - % @ *r[   