
    o+nj                      L    d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 ddZ
ddZy)	    )patch)	AppConfigCollectorConfigWatcherConfig)WatcherRepository)WatcherNc                    t        t        | dz        t        dd      t        dd      f      }t        ||       }	 |j	                         }|j
                  dk(  sJ |j                  dk(  sJ |j                  d	k(  sJ |j                  j                  d      d	   d
   dv sJ |j                  j                  d      j                         d	   dk(  sJ 	 |j                          y # |j                          w xY w)Nzisolation.sqlitedatabase_pathbrokenznot-a-real-collectorgenericgeneric_worker      r   success)r   r   z%SELECT event_type FROM watcher_eventscollector_failed)r   r   r   r   run_oncecollectors_totalcollectors_failedobservations_created
repositorycollector_rows
connectionexecutefetchoneclose)tmp_pathconfigwatcherresults       #tests/integration/test_isolation.py2test_failed_collector_does_not_stop_next_collectorr"      s    }8>P3PQ'2HI?[dfvKwxzFfh'G!!#&&!+++''1,,,**a///!!003A6yAVKKK!!))*QR[[]^_`dvvvvs   BC( (C:c                 V   t        t        | dz        t        dd      f      }t        ||       }	 ddddddd}t	        j
                  t        d|	      5  |j                         d
   dk(  sJ 	 d d d        |j                          y # 1 sw Y   xY w# |j                          w xY w)Nzhealth.sqliter
   r   r   r   r   )
jobs_totaljobs_healthyjobs_degradedjobs_failed
jobs_stalejobs_unknownsummary)return_valuewatcher_statusdegraded)	r   r   r   r   r   objectr   healthr   )r   r   r   r*   s       r!   =test_health_reflects_job_failure_even_when_collectors_succeedr0      s    }8o3MN'	3CDFHFfh'G!"AZ[!"A7\\+YWM 	D>>#$45CCC	D 		D 	D 	s#   %B B
1B 
BB B()returnN)unittest.mockr   worker_watcher.configr   r   r   worker_watcher.db.repositoriesr   worker_watcher.watcherr   r"   r0        r!   <module>r8      s     K K < *
r7   