
    \j                         d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ d Zd Zd Zd	 Z G d
 d      Zd Zy)    N)Config
HTTPConfig)CacheConfig)CachingStoreWrapper)create_diagnostic_idcreate_diagnostic_init_DiagnosticAccumulator _create_diagnostic_config_objectc                      t        dt                     } t        |       }t        |      dk(  sJ |d   }t	        j
                  d|z          |d   dk(  sJ y )NSDK_KEY)sdk_keyhttp   diagnosticIdz	urn:uuid:sdkKeySuffixDK_KEY)r   r   r   lenuuidUUID)test_configdiag_iduids      N/root/env/lib/python3.12/site-packages/testing/impl/events/test_diagnostics.pytest_create_diagnostic_idr   	   sZ    9:<@K";/Gw<1
.
!CIIkC >"h...    c                     t        ddd      } t        |       }t        d||       t              dk(  sJ d   dk(  sJ d	   |k(  sJ d
   dk(  sJ d   d   dk(  sJ d   d   sJ d   d   dk(  sJ d   d   dk(  sJ t        d         dk(  sJ d   d   dk(  sJ t	        fddD              sJ d   t        |       k(  sJ t        j                         y )Nr   djangoz5.1.1)r   wrapper_namewrapper_versiond      kindzdiagnostic-initidcreationDatesdknamezpython-server-sdkversionwrapperNamewrapperVersionplatformpythonc              3   H   K   | ]  }|d    j                         v   yw)r*   N)keys).0x	diag_inits     r   	<genexpr>z.test_create_diagnostic_init.<locals>.<genexpr>"   s*       FQqIj)..00  Fs   ")osArchosName	osVersionpythonVersionpythonImplementationconfiguration)r   r   r   r   allr
   jsondumps)r   r   r0   s     @r   test_create_diagnostic_initr;      sP   98W^_K";/G&sG[AIy>QV 1111T?g%%%^$+++UF#'::::UI&&&UM*h666U,-888y$%***Z (H444  F  ;E  F  F  F  F_%)I+)VVVV 	JJyr   c                     t        d      } t        |       }t        |      dk(  sJ |d   du sJ |d   du sJ |d   du sJ |d   dk(  sJ |d	   dk(  sJ |d
   dk(  sJ |d   dk(  sJ |d   du sJ |d   du sJ |d   du sJ |d   du sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ y )Nr      customBaseURIFcustomEventsURIcustomStreamURIeventsCapacityi'  connectTimeoutMillissocketTimeoutMillisi:  eventsFlushIntervalMillisi  
usingProxystreamingDisabledusingRelayDaemonallAttributesPrivatepollingIntervalMillisi0u  userKeysCapacity  userKeysFlushIntervalMillisi !diagnosticRecordingIntervalMillisi dataStoreTypememory)r   r
   r   )r   diag_configs     r   &test_create_diagnostic_config_defaultsrQ   )   sf   #K2;?K{r!!!'5000()U222()U222'(E111-.%777,-66623t;;;|$---*+u444)*e333-.%777./5888)*d22245???:;vEEE'8333r   c                     t        t               t        j                               } t	        ddddddddd| dddt        ddd	      d
      }t        |      }t        |      dk(  sJ |d   du sJ |d   du sJ |d   du sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   du sJ |d   du sJ |d   du sJ |d   du sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ y )Nr   zhttps://test.com
      F<   Tproxy)
http_proxyread_timeoutconnect_timeout)base_uri
events_urievents_max_pendingflush_interval
stream_uristreampoll_intervaluse_lddfeature_storeall_attributes_privatecontext_keys_capacitycontext_keys_flush_intervalr   diagnostic_recording_intervalr=   r>   r?   r@   rA   rB   rK   rC   rD   rE   rF   rG   rH   rI   i`  rJ   rL   rM   rN   MyFavoriteStore)r   _TestStoreForDiagnosticsr   defaultr   r   r
   r   )
test_storer   rP   s      r   $test_create_diagnostic_config_customrk   ?   s   $%=%?ATATAVWJ-?L^,.qM_ %RU_04Bln(gA_`a  BD	EK
 3;?K{r!!!'4///()T111()T111'(B...-.$666,-55523t;;;|$,,,*+t333)*d222-.$666./5888)*b00045>>>:;uDDD'+<<<<r   c                       e Zd Zd Zy)rh   c                      y)Nrg    )selfconfigs     r   describe_configurationz/_TestStoreForDiagnostics.describe_configuration[   s     r   N)__name__
__module____qualname__rq   rn   r   r   rh   rh   Z   s    !r   rh   c                     t        d      } t        |       }t        |      }|j                  dd      }t	        |      dk(  sJ |d   dk(  sJ |d   |k(  sJ |d   |j
                  k(  sJ |d	   sJ |d
   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   g k(  sJ t        j                  |       |j                  ddd       |j                  ddd       |j                  d       |j                  d       |j                  dd      }t	        |      dk(  sJ |d   dk(  sJ |d   |k(  sJ |d   |j
                  k(  sJ |d	   |d   k(  sJ |d
   dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   ddddddddgk(  sJ t        j                  |       |j                  dd      }|d   |j
                  k(  sJ |d	   |d   k(  sJ |d= |d= |d	= |d	= ||k(  sJ y )Nr   )r   r      r"   
diagnosticr#   r$   dataSinceDatedroppedEventsdeduplicatedUserseventsInLastBatchstreamInitsr    Fi,     TrS   2      )	timestampdurationMillisfailed)
r   r   r	   create_event_and_resetr   data_since_dater9   r:   record_stream_initrecord_events_in_batch)r   r   
diag_accumdef_diag_event
diag_eventreset_diag_events         r   test_diagnostic_accumulatorr   ^   s   9-K";/G'0J  66q!<N~!###&!\111$7***.)Z-G-GGGG/***/*a///-.!333-.!333-(B... 	JJ~ !!#sE2!!#sD1%%b)%%b)222r:Jz?af---dw&&&n%)C)CCCCo&.*HHHHo&",,,)*b000)*b000m$sc]b)c7:c]a)b)d d d dJJz!88A>N+z/I/IIIIO,
>0JJJJ(~&)'~---r   )r9   r   ldclient.configr   r   ldclient.feature_storer   ldclient.feature_store_helpersr    ldclient.impl.events.diagnosticsr   r   r	   r
   r   r;   rQ   rk   rh   r   rn   r   r   <module>r      sC      . . > T  T/.4,=6! !-.r   