a
    !f%                     @   s>   d dl Z G dd de jZG dd deZG dd deZdS )    Nc                   @   s   e Zd ZdZdZdZdZdd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%S )&
TestMetricztest-projectzmetric-namez"logName:syslog AND severity>=ERRORDESCRIPTIONc                 C   s   ddl m} |S )Nr   )Metric)Zgcloud.logging.metricr   )selfr    r   [/var/www/html/python-backend/venv/lib/python3.9/site-packages/gcloud/logging/test_metric.py_getTargetClass   s    zTestMetric._getTargetClassc                 O   s   |   |i |S N)r   )r   argskwr   r   r   _makeOne   s    zTestMetric._makeOnec                 C   s   d| j | jf }t| j }| j| j|d}| |j| j | |jd  | |jd | |j	|u  | |j
| j  | |j| | |jd|f  d S )Nprojects/%s/metrics/%sclient /%s)PROJECTMETRIC_NAME_Clientr   assertEqualnamefilter_description
assertTruer   project	full_namepathr   FULLr   metricr   r   r   test_ctor_defaults    s    
zTestMetric.test_ctor_defaultsc                 C   s   d| j | jf }t| j }| j| j| j|| jd}| |j| j | |j| j | |j	| j | 
|j|u  | |j| j  | |j| | |jd|f  d S )Nr   r   r   r   )r   r   r   r   FILTERr   r   r   r   r   r   r   r   r   r   r   r   r   r   test_ctor_explicit,   s    
zTestMetric.test_ctor_explicitc                 C   s   t | jd}d| j| jf }| j| jd}|  }|j||d}| |j| j | |j| j | |j	d | 
|j|u  | |j| j | |j| d S )Nr   r   r   filterr   r   r   r   r   r"   r   Zfrom_api_reprr   r   r   r   r   Z_clientr   r   )r   r   r   RESOURCEklassr   r   r   r   test_from_api_repr_minimal9   s    z%TestMetric.test_from_api_repr_minimalc                 C   s   t | jd}d| j| jf }d}| j| j|d}|  }|j||d}| |j| j | |j| j | |j	| | 
|j|u  | |j| j | |j| d S )Nr$   r   r   )r   r&   r   r   r'   )r   r   r   r   r(   r)   r   r   r   r    test_from_api_repr_w_descriptionI   s    z+TestMetric.test_from_api_repr_w_descriptionc                 C   sT   t | jd}t  }|_| j| j| j|d}|  | |j	| j| j| jdf d S Nr$   r   r   )
r   r   _DummyMetricsAPImetrics_apir   r   r"   creater   _metric_create_called_withr   r   apir   r   r   r   test_create_w_bound_client[   s    z%TestMetric.test_create_w_bound_clientc                 C   sj   t | jd}t | jd}t  }|_| j| j| j|| jd}|j|d | 	|j
| j| j| j| jf d S Nr$   r!   r   )r   r   r-   r.   r   r   r"   r   r/   r   r0   r   client1client2r2   r   r   r   r   test_create_w_alternate_clientf   s    z)TestMetric.test_create_w_alternate_clientc                 C   sT   t | jd}t  }|_| j| j| j|d}| |  | 	|j
| j| jf d S Nr$   r   )r   r   r-   r.   r   r   r"   ZassertFalseexistsr   _metric_get_called_withr1   r   r   r   test_exists_miss_w_bound_clients   s    
z*TestMetric.test_exists_miss_w_bound_clientc                 C   sx   | j | jd}t| jd}t| jd}t  }|_||_| j| j | j|d}| |j	|d | 
|j| j| j f d S )Nr%   r$   r   )r   r"   r   r   r-   r.   _metric_get_responser   r   r:   r   r;   )r   r(   r6   r7   r2   r   r   r   r   "test_exists_hit_w_alternate_client}   s    
z-TestMetric.test_exists_hit_w_alternate_clientc                 C   s   d}| j |d}t| jd}t  }|_||_| j| j | j|| jd}|	  | 
|j| | 
|jd | 
|j| j| j f d S )N!logName:syslog AND severity>=INFOr%   r$   r!   r   )r   r   r   r-   r.   r=   r   r"   r   reloadr   r   r   r;   )r   
NEW_FILTERr(   r   r2   r   r   r   r   test_reload_w_bound_client   s     
z%TestMetric.test_reload_w_bound_clientc                 C   s   d}| j | j|d}t| jd}t| jd}t  }|_||_| j| j | j|d}|j	|d | 
|j| | 
|j| j | 
|j| j| j f d S )Nr?   )r   r   r&   r$   r   )r   r   r   r   r-   r.   r=   r   r"   r@   r   r   r   r;   )r   rA   r(   r6   r7   r2   r   r   r   r   test_reload_w_alternate_client   s     
z)TestMetric.test_reload_w_alternate_clientc                 C   sT   t | jd}t  }|_| j| j| j|d}|  | |j	| j| j| jdf d S r,   )
r   r   r-   r.   r   r   r"   updater   _metric_update_called_withr1   r   r   r   test_update_w_bound_client   s    z%TestMetric.test_update_w_bound_clientc                 C   sj   t | jd}t | jd}t  }|_| j| j| j|| jd}|j|d | 	|j
| j| j| j| jf d S r4   )r   r   r-   r.   r   r   r"   r   rD   r   rE   r5   r   r   r   test_update_w_alternate_client   s    z)TestMetric.test_update_w_alternate_clientc                 C   sN   t | jd}t  }|_| j| j| j|d}|  | |j	| j| jf d S r9   
r   r   r-   r.   r   r   r"   deleter   _metric_delete_called_withr1   r   r   r   test_delete_w_bound_client   s    
z%TestMetric.test_delete_w_bound_clientc                 C   s^   t | jd}t | jd}t  }|_| j| j| j|d}|j|d | |j	| j| jf d S r9   rH   r5   r   r   r   test_delete_w_alternate_client   s    
z)TestMetric.test_delete_w_alternate_clientN)__name__
__module____qualname__r   r   r"   r   r   r   r    r#   r*   r+   r3   r8   r<   r>   rB   rC   rF   rG   rK   rL   r   r   r   r   r      s(   

r   c                   @   s   e Zd Zdd ZdS )r   c                 C   s
   || _ d S r	   r$   )r   r   r   r   r   __init__   s    z_Client.__init__N)rM   rN   rO   rP   r   r   r   r   r      s   r   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
r-   c                 C   s   ||||f| _ d S r	   )r0   r   r   metric_namer   r   r   r   r   metric_create   s    z_DummyMetricsAPI.metric_createc                 C   s>   ddl m} ||f| _z| jW S  ty8   |dY n0 d S )Nr   )NotFoundZmiss)Zgcloud.exceptionsrT   r;   r=   AttributeError)r   r   rR   rT   r   r   r   
metric_get   s    
z_DummyMetricsAPI.metric_getc                 C   s   ||||f| _ d S r	   )rE   rQ   r   r   r   metric_update   s    z_DummyMetricsAPI.metric_updatec                 C   s   ||f| _ d S r	   )rJ   )r   r   rR   r   r   r   metric_delete   s    z_DummyMetricsAPI.metric_deleteN)rM   rN   rO   rS   rV   rW   rX   r   r   r   r   r-      s   r-   )Z	unittest2ZTestCaser   objectr   r-   r   r   r   r   <module>   s    Q