o
    i<                     @   sr   d dl Z d dlZd dlmZ d dlmZ d dlmZ dZdZ	e
dZdd	 Zd
d Zdd Zdd Zdd ZdS )    Nquote)CITag)GitTagzdatadoghq.comappz\A[A-Za-z0-9._-]+\Zc                 C   s   t tdttddd}|j}|j}|j}t||||}t||}|s)|s)d S | j	dddd | 
d |rJ| 
d | 
d	 | 
d
|  |r`| 
d | 
d | 
d
|  d S d S )NDD_SITEDD_SUBDOMAIN )dd_sitedd_subdomainzDatadog Test ReportsT)cyanboldzSView detailed reports in Datadog (they may take a few minutes to become available):z* Commit report:u     → z* Test runs report:)_get_base_urlosgetenvDEFAULT_DATADOG_SITEenv_tagsserviceenv_build_test_commit_redirect_url_build_test_runs_urlsectionline)terminalreportersession_managerbase_urlci_tagsr   r   redirect_test_commit_urltest_runs_url r   `/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/testing/internal/pytest/report_links.pyprint_test_report_links   s*   





r!   c                 C   s^   |pt }| d}t|dkr'|t krd|  S d| d|d  d|d  S d| d|  S )N.   zhttps://      )DEFAULT_DATADOG_SUBDOMAINsplitlen)r
   r   	subdomaindd_site_partsr   r   r    r   +   s   

r   c                 C   s   | tj| tj| tj|d}tdd | D r d S d}| |jdi dd | D  }|rD|d| jt	|dd	d
7 }|S )N)repo_urlbranch
commit_shar   c                 s   s    | ]}|d u V  qd S )Nr   ).0vr   r   r    	<genexpr>?   s    z2_build_test_commit_redirect_url.<locals>.<genexpr>zC/ci/redirect/tests/{repo_url}/-/{service}/-/{branch}/-/{commit_sha}c                 S   s   i | ]\}}|t |d dqS )r	   safer   )r.   kr/   r   r   r    
<dictcomp>C   s    z3_build_test_commit_redirect_url.<locals>.<dictcomp>z?env=r	   r1   )r   r   )
getr   REPOSITORY_URLBRANCH
COMMIT_SHAanyvaluesformatitemsr   )r   r   r   r   params
url_formaturlr   r   r    r   8   s   


"r   c                 C   s.   t | r| S | dddd}d| dS )N\z\\"z\")SAFE_FOR_QUERYmatchreplace)textescaped_textr   r   r    _quote_for_queryJ   s   
rG   c                 C   sX   | tj}| tj}|r|sd S dt|t|}d}| |jt|ddd }|S )Nz"@ci.job.name:{} @ci.pipeline.id:{}z(/ci/test-runs?query={query}&index=citestr	   r1   )query)r5   r   JOB_NAMEPIPELINE_IDr;   rG   r   )r   r   ci_job_nameci_pipeline_idrH   r>   r?   r   r   r    r   R   s   r   )r   reurllib.parser   ddtrace.testing.internal.cir   ddtrace.testing.internal.gitr   r   r&   compilerB   r!   r   r   rG   r   r   r   r   r    <module>   s    
