a
    !f7'                     @   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 )&TestSinkztest-projectz	sink-name!logName:syslog AND severity>=INFOzfaux.googleapis.com/destinationc                 C   s   ddl m} |S )Nr   )Sink)Zgcloud.logging.sinkr   )selfr    r   Y/var/www/html/python-backend/venv/lib/python3.9/site-packages/gcloud/logging/test_sink.py_getTargetClass   s    zTestSink._getTargetClassc                 O   s   |   |i |S N)r   )r   argskwr   r   r   _makeOne   s    zTestSink._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/sinks/%sclientz/%s)PROJECT	SINK_NAME_Clientr   assertEqualnamefilter_destination
assertTruer   project	full_namepathr   FULLr   sinkr   r   r   test_ctor_defaults    s    
zTestSink.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 r   )r   r   r   r   FILTERDESTINATION_URIr   r   r   r   r   r   r   r   r   r   r   r   r   test_ctor_explicit,   s    
zTestSink.test_ctor_explicitc                 C   s   t | jd}d| j| jf }| j| j| jd}|  }|j||d}| |j| j | |j	| j | |j
| j | |j|u  | |j| j | |j| d S Nr   r   r   filterr   r   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#TestSink.test_from_api_repr_minimalc                 C   s   t | jd}d| j| jf }| j| j| jd}|  }|j||d}| |j| j | |j	| j | |j
| j | |j|u  | |j| j | |j| d S r#   r'   r(   r   r   r    test_from_api_repr_w_descriptionJ   s    z)TestSink.test_from_api_repr_w_descriptionc                 C   sZ   t | jd}t  }|_| j| j| j| j|d}|  | 	|j
| j| j| j| jf d S Nr$   r   )r   r   _DummySinksAPI	sinks_apir   r   r    r!   creater   _sink_create_called_withr   r   apir   r   r   r   test_create_w_bound_client[   s    z#TestSink.test_create_w_bound_clientc                 C   sj   t | jd}t | jd}| j| j| j| j|d}t  }|_|j|d | 	|j
| j| j| j| jf d S r-   )r   r   r   r   r    r!   r.   r/   r0   r   r1   )r   client1client2r   r3   r   r   r   test_create_w_alternate_clientg   s    z'TestSink.test_create_w_alternate_clientc                 C   sX   t | jd}t  }|_| j| j| j| j|d}| |	  | 
|j| j| jf d S r-   )r   r   r.   r/   r   r   r    r!   ZassertFalseexistsr   _sink_get_called_withr2   r   r   r   test_exists_miss_w_bound_clientt   s    
z(TestSink.test_exists_miss_w_bound_clientc                 C   s   | j | j| jd}t| jd}t| jd}t  }|_||_| j| j | j| j|d}| 	|j
|d | |j| j| j f d S )Nr%   r$   r   )r   r    r!   r   r   r.   r/   _sink_get_responser   r   r8   r   r9   )r   r)   r5   r6   r3   r   r   r   r   "test_exists_hit_w_alternate_client   s    
z+TestSink.test_exists_hit_w_alternate_clientc                 C   s   d}d}| j ||d}t| jd}t  }|_||_| j| j | j| j|d}|	  | 
|j| | 
|j| | 
|j| j| j f d S Nr   zfaux.googleapis.com/otherr%   r$   r   r   r   r   r.   r/   r;   r   r    r!   reloadr   r   r   r9   )r   
NEW_FILTERNEW_DESTINATION_URIr)   r   r3   r   r   r   r   test_reload_w_bound_client   s$    
z#TestSink.test_reload_w_bound_clientc                 C   s   d}d}| j ||d}t| jd}t| jd}t  }|_||_| j| j | j| j|d}|j	|d | 
|j| | 
|j| | 
|j| j| j f d S r=   r>   )r   r@   rA   r)   r5   r6   r3   r   r   r   r   test_reload_w_alternate_client   s&    
z'TestSink.test_reload_w_alternate_clientc                 C   sZ   t | jd}t  }|_| j| j| j| j|d}|  | 	|j
| j| j| j| jf d S r-   r   r   r.   r/   r   r   r    r!   updater   _sink_update_called_withr2   r   r   r   test_update_w_bound_client   s    z#TestSink.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 r-   rD   r   r5   r6   r3   r   r   r   r   test_update_w_alternate_client   s    z'TestSink.test_update_w_alternate_clientc                 C   sR   t | jd}t  }|_| j| j| j| j|d}|  | 	|j
| j| jf d S r-   r   r   r.   r/   r   r   r    r!   deleter   _sink_delete_called_withr2   r   r   r   test_delete_w_bound_client   s    
z#TestSink.test_delete_w_bound_clientc                 C   sb   t | jd}t | jd}t  }|_| j| j| j| j|d}|j|d | 	|j
| j| jf d S r-   rJ   rH   r   r   r   test_delete_w_alternate_client   s    
z'TestSink.test_delete_w_alternate_clientN)__name__
__module____qualname__r   r   r    r!   r   r   r   r"   r+   r,   r4   r7   r:   r<   rB   rC   rG   rI   rM   rN   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)rO   rP   rQ   rR   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	   )r1   r   r   	sink_namer   r   r   r   r   sink_create   s    z_DummySinksAPI.sink_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.exceptionsrV   r9   r;   AttributeError)r   r   rT   rV   r   r   r   sink_get   s    
z_DummySinksAPI.sink_getc                 C   s   ||||f| _ d S r	   )rF   rS   r   r   r   sink_update  s    z_DummySinksAPI.sink_updatec                 C   s   ||f| _ d S r	   )rL   )r   r   rT   r   r   r   sink_delete  s    z_DummySinksAPI.sink_deleteN)rO   rP   rQ   rU   rX   rY   rZ   r   r   r   r   r.      s   r.   )Z	unittest2ZTestCaser   objectr   r.   r   r   r   r   <module>   s    \