
    Dlj/                         d dl Zd dlmc mZ d dlmZmZ d dlZd dl	m
Z
mZmZ ddZej                  j                  dg d      deddfd       Zdd	Zdd
ZddZy)    N)UTCdatetime)JobDescriptorRunDescriptorvalidate_job_keyreturnc                     d} t        |       }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )Nzyoutube.transcript.batch==)z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sr   )py0py2py4py7zassert %(py9)spy9)	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)@py_assert1@py_assert3@py_assert6@py_assert5@py_format8@py_format10s         G/opt/struktur/hermes-workspace/worker-watcher/tests/unit/test_models.pytest_valid_job_keyr       s    6U67U;UU7;UUUUU7;UUUUUUUUUUUUU6UUU7UUU;UUUUUUUU    key)zYoutube.Transcript.Batchza..bza.bza.b.c-1za.b.c_1c                 v    t        j                  t              5  t        |        d d d        y # 1 sw Y   y xY w)N)pytestraises
ValueErrorr   )r"   s    r   test_invalid_job_keyr'      s+    	z	"   s   /8c                      t        j                  t              5  t        t	        ddd             d d d        y # 1 sw Y   y xY w)N     )
started_at)r$   r%   r&   r   r    r!   r   test_naive_datetime_rejectedr-      s4    	z	" 7$1!567 7 7s	   ;Ac            
          t        j                  t              5  t        t	        dddt
              t	        dddt
                     d d d        y # 1 sw Y   y xY w)Nr)   r*      )tzinfo)r+   finished_at)r$   r%   r&   r   r   r   r,   r!   r   test_run_time_orderr2      sK    	z	" q$1S!AxX\^_abknOopq q qs   0AAc                     t        dddd      } ddlm}  || ddd	d
      } || dddd
      }|j                  }|j                  }||k(  }|st	        j
                  d|fd||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}}|j                  }d}	||	k(  }|st	        j
                  d|fd||	f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |	      dz  }
dd|
iz  }t        t	        j                  |            d x}x}}	y )Nzbackup.vps.fullBackuptestbatchr   )InstanceDescriptorhermesprocessz/opt/backupprimary)instance_namez
/differentr
   )zV%(py2)s
{%(py2)s = %(py0)s.instance_key
} == %(py6)s
{%(py6)s = %(py4)s.instance_key
}firstsecond)r   r   r   py6zassert %(py8)spy8z&backup.vps.full|hermes|process|primary)z4%(py2)s
{%(py2)s = %(py0)s.instance_key
} == %(py5)s)r   r   py5zassert %(py7)sr   )r   worker_watcher.modelsr7   instance_keyr   r   r   r   r   r   r   r   )jobr7   r<   r=   r   r   r   @py_format7@py_format9@py_assert4@py_format6r   s               r   test_instance_key_is_stablerH      sL   
)8VW
EC8sHiV_`EXy,V_`F4!4!44!44444!444444454445444444444444444!44444444I!II!IIIII!IIIIIII5III5IIIIII!IIIIIIIIr!   )r   N)builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   r   r$   rA   r   r   r   r    markparametrizestrr'   r-   r2   rH   r,   r!   r   <module>rP      sb       "  P PV  abc d  c
7
q
Jr!   