
    Kia                         S SK r S SKrS SKJrJr  S SKrS SKrS SKrS SKJrJ	r	J
r
JrJr  S SKJr   " S S\R                  5      r\R"                  R%                  S/ SQ5      S	 5       rg)
    N)datedatetime)DatetimeSerializerQuotaLimitError
batch_postdecidedetermine_server_host)TEST_API_KEYc                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestRequests   c                 b    [        [        SSSS./S9nU R                  UR                  S5        g )Ndistinct_idpython eventtrackr   eventtypebatch   r   r
   assertEqualstatus_codeselfress     [/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/posthog/test/test_request.pytest_valid_requestTestRequests.test_valid_request   s5     -PWX
 	#.    c                 @    U R                  [        [        SSSS5        g )N
testsecrethttps://t.posthog.comFz[{]assertRaises	Exceptionr   r   s    r   test_invalid_request_error'TestRequests.test_invalid_request_error   s    z<1H%QV	
r!   c                 :    U R                  [        [        SS/ S9  g )Nr#   t.posthog.com/r   r%   r(   s    r   test_invalid_hostTestRequests.test_invalid_host"   s!    z<1A 	 	
r!   c           
          S[        SSSSSSS5      0n[        R                  " U[        S	9nU R	                  US
5        g )Ncreatedi                 i clsz){"created": "2012-03-04T05:06:07.891011"})r   jsondumpsr   r   )r   dataresults      r   test_datetime_serialization(TestRequests.test_datetime_serialization'   s?    8D!Q1a@AD&89!LMr!   c                     [         R                  " 5       nSU0n[        R                  " U[        S9nSUR                  5       -  nU R                  X45        g )Nr0   r6   z{"created": "%s"})r   todayr8   r9   r   	isoformatr   )r   r?   r:   r;   expecteds        r   test_date_serialization$TestRequests.test_date_serialization,   sG    

5!D&89&)::*r!   c                 d    [        [        SSSS./SS9nU R                  UR                  S5        g )Nr   r   r   r      r   timeoutr   r   r   s     r   test_should_not_timeout$TestRequests.test_should_not_timeout3   s:     -PWX 
 	#.r!   c                     U R                  [        R                  5         [        SSSSS./SS9  S S S 5        g ! , (       d  f       g = f)Nkeyr   r   r   r   g-C6?rF   )r&   requestsReadTimeoutr   r(   s    r   test_should_timeout TestRequests.test_should_timeout=   sG    x334 (5!/ ' 
 544s	   :
Ac                    [         R                  " 5       nSUl        [        R                  " S/0 0 SS.5      R                  S5      Ul        [        R                  " SUS9   U R                  [        5       n[        SS	5        S S S 5        U R                  WR                  R                  S5        U R                  UR                  R                  S
5        S S S 5        g ! , (       d  f       Nc= f! , (       d  f       g = f)Nr   feature_flagsF)quotaLimitedfeatureFlagsfeatureFlagPayloadserrorsWhileComputingFlagsutf-8posthog.request._session.postreturn_valuefake_key	fake_hostzFeature flags quota limited)rL   Responser   r8   r9   encode_contentmockpatchr&   r   r   r   	exceptionstatusmessage)r   mock_responsecms      r   test_quota_limited_response(TestRequests.test_quota_limited_responseK   s     ))+$'!!%!0 1 "')-2	"
 &/ 	 ZZ7mT""?3rz;/ 4 R\\00#6R\\113PQ UT33 UTs%   "C38C"AC3"
C0	,C33
Dc                 @   [         R                  " 5       nSUl        [        R                  " SS00 SS.5      R                  S5      Ul        [        R                  " SUS9   [        S	S
5      nU R                  US   SS05        S S S 5        g ! , (       d  f       g = f)Nr   flag1TF)rS   rT   rU   rV   rW   rX   rZ   r[   rS   )rL   r\   r   r8   r9   r]   r^   r_   r`   r   r   )r   rd   responses      r   test_normal_decide_response(TestRequests.test_normal_decide_response^   s     ))+$'!!%!($')-2"
 &/ 	 ZZ7mTj+6HXn5G UTTs   "$B
B N)__name__
__module____qualname____firstlineno__r   r)   r-   r<   rB   rH   rN   rf   rk   __static_attributes__rm   r!   r   r   r      s2    /



N
+/R&Hr!   r   zhost, expected))r$   r$   )https://t.posthog.com/rs   )t.posthog.comrt   )r,   r,   )#https://us.posthog.com.rg.proxy.comru   )app.posthog.comrv   )eu.posthog.comrw   )zhttps://app.posthog.comhttps://us.i.posthog.com)zhttps://eu.posthog.comhttps://eu.i.posthog.com)zhttps://us.posthog.comrx   )zhttps://app.posthog.com/rx   )zhttps://eu.posthog.com/ry   )zhttps://us.posthog.com/rx   )Nrx   c                 &    [        U 5      U:X  d   eg )N)r	   )hostrA   s     r   test_routing_to_custom_hostr|   n   s    ( !&(222r!   )r8   unittestr   r   r_   pytestrL   posthog.requestr   r   r   r   r	   posthog.test.test_utilsr
   TestCaser   markparametrizer|   rm   r!   r   <module>r      sh      #     1XH8$$ XHv &3'&3r!   