a
    !fP!                     @   sj   d dl Z G dd de jZG dd de jZG dd de jZdd	 ZG d
d deZG dd deZdS )    Nc                   @   s$   e Zd Zdd Zdd Zdd ZdS )Test_logger_name_from_pathc                 C   s   ddl m} ||S )Nr   )logger_name_from_path)gcloud.logging.entriesr   )selfpathr    r   \/var/www/html/python-backend/venv/lib/python3.9/site-packages/gcloud/logging/test_entries.py_callFUT   s    z#Test_logger_name_from_path._callFUTc                 C   s.   d}d}d||f }|  |}| || d S )NLOGGER_NAMEmy-project-1234projects/%s/logs/%sr	   assertEqualr   r
   PROJECTPATHZlogger_namer   r   r   test_w_simple_name   s
    
z-Test_logger_name_from_path.test_w_simple_namec                 C   s.   d}d}d||f }|  |}| || d S )Nz(LOGGER_NAME-part.one~part.two%part-threer   r   r   r   r   r   r   test_w_name_w_all_extras   s
    
z3Test_logger_name_from_path.test_w_name_w_all_extrasN)__name__
__module____qualname__r	   r   r   r   r   r   r   r      s   r   c                   @   sL   e 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S )Test_BaseEntryr   r
   c                 C   s    ddl m} G dd d|}|S )Nr   )
_BaseEntryc                   @   s   e Zd ZdZdS )z.Test_BaseEntry._getTargetClass.<locals>._DummydummyPayloadN)r   r   r   Z_PAYLOAD_KEYr   r   r   r   _Dummy/   s   r   )r   r   )r   r   r   r   r   r   _getTargetClass,   s    zTest_BaseEntry._getTargetClassc                 O   s   |   |i |S Nr   r   argskwr   r   r   _makeOne4   s    zTest_BaseEntry._makeOnec                 C   s   d}t | j| j}| ||}| |j| | |j|u  | |jd u  | |j	d u  | |j
d u  | |jd u  | |jd u  d S )NPAYLOAD)_Loggerr
   r   r!   r   payload
assertTruelogger	insert_id	timestamplabelsseverityhttp_request)r   r"   r&   entryr   r   r   test_ctor_defaults7   s    z!Test_BaseEntry.test_ctor_defaultsc              	   C   s   dd l }d}d}|j  }ddd}d}d}d	}d
}	|||	d}
t| j| j}| j|||||||
d}| |j| | |j	|u  | |j
| | |j| | |j| | |j| | |jd | | |jd | | |jd |	 d S )Nr   r"   IIDbarquxfooZbazCRITICALPOST https://api.example.com/endpoint500requestMethod
requestUrlstatus)r'   r(   r)   r*   r+   r8   r9   r:   )datetimenowr#   r
   r   r!   r   r$   r%   r&   r'   r(   r)   r*   r+   )r   r;   r"   r.   	TIMESTAMPLABELSSEVERITYMETHODURISTATUSZREQUESTr&   r,   r   r   r   test_ctor_explicitC   s<    

z!Test_BaseEntry.test_ctor_explicitc                 C   s   t | j}d}d| j| jf }||d}|  }|||}| |j| | |jd u  | |j	d u  | |j
d u  | |jd u  |j}| t|t | |j|u  | |j| j d S )Nr"   r   )r   logName)_Clientr   r
   r   from_api_reprr   r$   r%   r'   r(   r*   r+   r&   
isinstancer#   clientname)r   rH   r"   LOG_NAMEAPI_REPRklassr,   r&   r   r   r   *test_from_api_repr_missing_data_no_loggersc   s"    
z9Test_BaseEntry.test_from_api_repr_missing_data_no_loggersc              
   C   sj  ddl m } ddlm} |  }t| j}d}d}d}| j|d}t|}	d| j| j	f }
d	d
d}d}d}d}||
||	|||||dd}i }|j
|||d}| |j| | |j| | |j| | |j| | |j| | |jd | | |jd | | |jd | |j}| t|t | |j|u  | |j| j	 | ||
|i d S )Nr   r;   UTCr"   r3   r.   tzinfor   r/   r0   r1   r4   r5   r6   r7   )r   rD   insertIdr(   r)   r*   ZhttpRequestloggersr8   r9   r:   )r;   gcloud._helpersrP   r   rE   r   utcnowreplace_datetime_to_rfc3339_w_nanosr
   rF   r   r$   r'   r(   r)   r*   r+   r&   r%   rG   r#   rH   rI   )r   r;   rP   rL   rH   r"   r?   r.   NOWr=   rJ   r>   r@   rA   rB   rK   rU   r,   r&   r   r   r   ,test_from_api_repr_w_loggers_no_logger_matchw   sP    

z;Test_BaseEntry.test_from_api_repr_w_loggers_no_logger_matchc                 C   s   ddl m } ddlm} t| j}d}d}| j|d}t|}d| j| jf }dd	d
}	|||||	d}
t	 }||i}| 
 }|j|
||d}| |j| | |j| | |j| | |j|	 | |j|u  d S )Nr   rN   rO   r"   r.   rQ   r   r/   r0   r1   )r   rD   rS   r(   r)   rT   )r;   rV   rP   rE   r   rW   rX   rY   r
   objectr   rF   r   r$   r'   r(   r)   r%   r&   )r   r;   rP   rH   r"   r.   rZ   r=   rJ   r>   rK   LOGGERrU   rL   r,   r   r   r   +test_from_api_repr_w_loggers_w_logger_match   s0    

z:Test_BaseEntry.test_from_api_repr_w_loggers_w_logger_matchN)r   r   r   r   r
   r   r!   r-   rC   rM   r[   r^   r   r   r   r   r   '   s    ,r   c                   @   s,   e Zd ZdZdZdd Zdd Zdd Zd	S )
TestProtobufEntryr   r
   c                 C   s   ddl m} |S )Nr   )ProtobufEntry)r   r`   )r   r`   r   r   r   r      s    z!TestProtobufEntry._getTargetClassc                 O   s   |   |i |S r   r   r   r   r   r   r!      s    zTestProtobufEntry._makeOnec           
      C   s   dd l }ddlm} ddlm}m} t }|d|ddid}|d|ddid}|||}| ||}	|		| | 
|jd  d S )	Nr   )MessageToJson)StructValuer2   F)Z
bool_value)fieldsT)jsonZgoogle.protobuf.json_formatra   Zgoogle.protobuf.struct_pb2rb   rc   r\   loadsr!   Zparse_messager%   rd   )
r   re   ra   rb   rc   r]   messageZ	with_truer"   r,   r   r   r   test_parse_message   s    
z$TestProtobufEntry.test_parse_messageN)r   r   r   r   r
   r   r!   rh   r   r   r   r   r_      s
   r_   c                 C   s(   ddl m} | |}d|| jd f S )Nr   )_RFC3339_NO_FRACTIONz%s.%09dZi  )rV   ri   strftimemicrosecond)valueri   Zno_fractionr   r   r   rY      s    
rY   c                   @   s   e Zd Zdd ZdS )r#   c                 C   s   || _ || _d S r   )rI   rH   )r   rI   rH   r   r   r   __init__   s    z_Logger.__init__N)r   r   r   rm   r   r   r   r   r#      s   r#   c                   @   s   e Zd Zdd Zdd ZdS )rE   c                 C   s
   || _ d S r   )project)r   rn   r   r   r   rm      s    z_Client.__init__c                 C   s
   t || S r   )r#   )r   rI   r   r   r   r&      s    z_Client.loggerN)r   r   r   rm   r&   r   r   r   r   rE      s   rE   )	Z	unittest2ZTestCaser   r   r_   rY   r\   r#   rE   r   r   r   r   <module>   s    