o
    i                     @  s   d dl mZ d dlmZ d dlmZ d dlZeG dd dZeG dd dZeG d	d
 d
Z	eG dd dZ
eddG dd dZdS )    )annotations)	dataclass)fieldNc                   @  sd   e Zd ZU dZded< dZded< dZded< d	Zded
< dZded< dZ	ded< e
dddZdS )EarlyFlakeDetectionSettingsFboolenabled
   intslow_test_retries_5s   slow_test_retries_10s   slow_test_retries_30s   slow_test_retries_5m   faulty_session_thresholdefd_attributesdict[str, t.Any]returnc                 C  s@   | |d |d d |d d |d d |d d |d d}|S )	Nr   slow_test_retries5s10s30s5mr   )r   r
   r   r   r   r    )clsr   efd_settingsr   r   Z/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/testing/internal/settings_data.pyfrom_attributes   s   



z+EarlyFlakeDetectionSettings.from_attributesN)r   r   r   r   )__name__
__module____qualname__r   __annotations__r
   r   r   r   r   classmethodr   r   r   r   r   r      s   
 r   c                   @  s   e Zd ZU dZded< dS )AutoTestRetriesSettingsFr   r   N)r    r!   r"   r   r#   r   r   r   r   r%      s   
 r%   c                   @  s8   e Zd ZU dZdZded< dZded< edd
dZdS )TestManagementSettingsFr   r      r	   attempt_to_fix_retriestest_management_attributesr   r   c                 C  s   | |d |d d}|S )Nr   r(   )r   r(   r   )r   r)   test_management_settingsr   r   r   r   )   s
   z&TestManagementSettings.from_attributesN)r)   r   r   r&   )	r    r!   r"   __test__r   r#   r(   r$   r   r   r   r   r   r&   #   s   
 r&   c                   @  s   e Zd ZU eedZded< eedZded< ee	dZ
ded< dZd	ed
< dZd	ed< dZd	ed< dZd	ed< dZd	ed< dZd	ed< edddZdS )Settings)default_factoryr   early_flake_detectionr%   auto_test_retriesr&   test_managementFr   known_tests_enabledcoverage_enabledskipping_enabledrequire_gititr_enabledcoverage_report_upload_enabled
attributesr   r   c                 C  s   t ttt jf |d}t ttt jf |d}t|}tj|d}t	|d}t	|d}t	|d}t	|d}	t	|d}
t	|d	}t	|d
}| ||t
|d|||	|
||d	}|S )Nr.   r0   )r)   flaky_test_retries_enabledr1   code_coveragetests_skippingr4   r5   r6   )r   )	r.   r0   r/   r1   r2   r3   r4   r5   r6   )tcastdictstrAnygetr   r   r&   r   r%   )r   r7   r   r)   r   r*   atr_enabledr1   r2   r3   r4   r5   r6   settingsr   r   r   r   ?   s2   
zSettings.from_attributesN)r7   r   r   r,   )r    r!   r"   r   r   r.   r#   r%   r/   r&   r0   r1   r2   r3   r4   r5   r6   r$   r   r   r   r   r   r,   2   s   
 r,   T)frozenc                   @  s6   e Zd ZU dZded< dZded< dZded< dZdS )TestPropertiesFr   quarantineddisabledattempt_to_fixN)r    r!   r"   rE   r#   rF   rG   r+   r   r   r   r   rD   ^   s
   
 rD   )
__future__r   dataclassesr   r   typingr;   r   r%   r&   r,   rD   r   r   r   r   <module>   s    +