
    Ki                     n    S SK r S SKJr  S SKJrJrJrJrJrJ	r	J
r
JrJr   " S S\ R                  5      rg)    N)patch)	
clear_tagsget_tagsnew_contextscopedtagidentify_contextset_context_sessionget_context_session_idget_context_distinct_idc                       \ rS rSrS rS rS rS rS r\	" S5      S 5       r
\	" S5      S	 5       r\	" S5      S
 5       rS rS rS rS rS rSrg)
TestScopes   c                     [        5         g )N)r   selfs    Z/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/posthog/test/test_scopes.pysetUpTestScopes.setUp   s        c                     [        SS9   [        SS5        [        SS5        [        5       nUS   S:X  d   eUS   S:X  d   e S S S 5        g ! , (       d  f       g = f)NTfreshkey1value1key2   r   r   r   )r   tagss     r   test_tag_and_get_tags TestScopes.test_tag_and_get_tags   sT    t$!N:D<8+++<1$$$ %$$s   9A
Ac                     [        SS9   [        SS5        [        5       S   S:X  d   e[        5         [        5       0 :X  d   e S S S 5        g ! , (       d  f       g = f)NTr   r   r   )r   r   r   r   r   s    r   test_clear_tagsTestScopes.test_clear_tags   sJ    t$!:f%111L:### %$$s   :A
Ac                    [        SS9   [        SS5        [        SS9   [        5       0 :X  d   e[        SS5        [        5       S   S:X  d   eU R                  S[        5       5        S S S 5        [        SS9   [        5       SS0:X  d   e S S S 5        U R                  S[        5       5        [        5       S   S:X  d   e S S S 5        g ! , (       d  f       Nj= f! , (       d  f       NV= f! , (       d  f       g = f)NTr   outervalueinnerF)r   r   r   assertNotInr   s    r   test_new_context_isolation%TestScopes.test_new_context_isolation'   s    t$!4(zR''' GW%z'*g555   (*5 ) 5)zgw%7777 *
 Whj1 :g&'111/ %$ )( *) %$s;   C0A
C*C0;C5C0
C	C0
C-	)C00
C>c                    [        SS9   [        SS5        [        SS9   [        SS5        [        SS9   [        SS5        [        5       SS0:X  d   e S S S 5        [        5       SS0:X  d   e S S S 5        [        5       SS0:X  d   e S S S 5        g ! , (       d  f       NE= f! , (       d  f       N;= f! , (       d  f       g = f)	NTr   level1r   level2value2level3value3r   r   s    r   test_nested_contextsTestScopes.test_nested_contextsA   s    t$(#4(Hh' t,(+#:(H)==== -
  zh%9999 ) :(H!5555 %$ -, )( %$s9   B7B&BB&1B7
B#B&&
B4	0B77
Czposthog.capture_exceptionc                     [        5       S 5       nU" SS5      nUS:X  d   eUR                  5         [        5       0 :X  d   eg )Nc                 :    [        SU 5        [        SU5        X-   $ )Nxyr   )r6   r7   s     r   successful_functionETestScopes.test_scoped_decorator_success.<locals>.successful_functionT   s    QKQK5Lr      r      )r   assert_not_calledr   )r   mock_capturer9   results       r   test_scoped_decorator_success(TestScopes.test_scoped_decorator_successR   sR    		 
	
 %Q* {{ 	&&( zRr   c                   ^ [        S5      mS nX!l        [        5       U4S j5       nU R                  [         5         U" 5         S S S 5        UR	                  T5        [        5       0 :X  d   eg ! , (       d  f       N0= f)NzTest exceptionc                 F    [        5       nUR                  S5      S:X  d   eg Nimportant_contextr'   r   get	exceptionkwargscurrent_tagss      r   check_context_on_captureLTestScopes.test_scoped_decorator_exception.<locals>.check_context_on_capturei   s#    #:L##$78GCCCr   c                      > [        SS5        T erD   r8   )test_exceptions   r   failing_functionDTestScopes.test_scoped_decorator_exception.<locals>.failing_functionp   s    #W-  r   )
ValueErrorside_effectr   assertRaisesassert_called_once_withr   )r   r>   rL   rP   rO   s       @r   test_scoped_decorator_exception*TestScopes.test_scoped_decorator_exceptione   sv    #$45	D
 $< 		! 
	!
 z* + 	,,^< zR +*s   A00
A>c                 N   [        S5      nS nX1l        [        5          [        SS5         [        5          [        SS5        Ue! , (       d  f       O= f! [          a     Of = f[	        5       S   S:X  d   e S S S 5        O! , (       d  f       O= fUR                  U5        g )NzContext exceptionc                 F    [        5       nUR                  S5      S:X  d   eg )Ninner_contextinner_valuerF   rH   s      r   rL   PTestScopes.test_new_context_exception_handling.<locals>.check_context_on_capture   s"    #:L##O4EEEr   outer_contextouter_valuerZ   r[   )RuntimeErrorrS   r   r   r   rU   )r   r>   rO   rL   s       r   #test_new_context_exception_handling.TestScopes.test_new_context_exception_handling   s    %&9:	F
 $<  ]/ ]7(( #]    :o.-??? ]] 	,,^<sE   B
AA
A	ABA
A$!B#A$$B
Bc                     [        SS9   [        5       b   e[        S5        [        5       S:X  d   e S S S 5        g ! , (       d  f       g = f)NTr   user123)r   r   r	   r   s    r   test_identify_context TestScopes.test_identify_context   s@    t$*,444 Y'*,	999 %$$	   )=
Ac                     [        SS9   [        5       b   e[        S5        [        5       S:X  d   e S S S 5        g ! , (       d  f       g = f)NTr   
session456)r   r   r
   r   s    r   test_set_context_session#TestScopes.test_set_context_session   s@    t$)+333  -)+|;;; %$$rf   c                 4   [        SS9   [        S5        [        S5        [        SS9   [        5       b   e[	        5       b   e S S S 5        [        5       S:X  d   e[	        5       S:X  d   e S S S 5        g ! , (       d  f       N8= f! , (       d  f       g = f)NTr   rc   rh   r   r	   r
   r   r   r   s    r   &test_context_inheritance_fresh_context1TestScopes.test_context_inheritance_fresh_context   s    t$Y'-4(.0888-/777 ) +,	999)+|;;; %$ )(	 %$s"    B	A8(B	8
B	B		
Bc                    [        SS9   [        S5        [        S5        [        SS9   [        5       S:X  d   e[	        5       S:X  d   e[        S5        [        S5        [        5       S:X  d   e[	        5       S:X  d   e S S S 5        [        5       S:X  d   e[	        5       S:X  d   e S S S 5        g ! , (       d  f       N8= f! , (       d  f       g = f)NTr   rc   rh   Fuser789
session999rl   r   s    r   *test_context_inheritance_non_fresh_context5TestScopes.test_context_inheritance_non_fresh_context   s    t$Y'-5).0I===-/<??? !+#L1.0I===-/<??? * +,	999)+|;;;# %$ *)	 %$s#    CAB4(C4
C	>C
Cc                     [        5       S 5       nU" 5       u  p#US:X  d   eUS:X  d   e[        5       b   e[        5       b   eg )Nc                  V    [        S5        [        S5        [        5       [        5       4$ )Nuser456
session789)r	   r
   r   r    r   r   function_with_contextPTestScopes.test_scoped_decorator_with_context_ids.<locals>.function_with_context   s$    Y'-*,.D.FFFr   rv   rw   )r   r   r   )r   ry   distinct_id
session_ids       r   &test_scoped_decorator_with_context_ids1TestScopes.test_scoped_decorator_with_context_ids   sa    		G 
	G
 #8"9i'''\))) '(000%'///r   rx   N)__name__
__module____qualname____firstlineno__r   r    r#   r*   r2   r   r@   rV   r`   rd   ri   rm   rr   r}   __static_attributes__rx   r   r   r   r      s    %$246" &'  ( $ &'  ( 2 &'= (=6:<<<(0r   r   )unittestunittest.mockr   posthog.scopesr   r   r   r   r   r	   r
   r   r   TestCaser   rx   r   r   <module>r      s.     
 
 
K0"" K0r   