
    Eh                         S SK rS SK Jr  S SK Jr  S SK Jr  S SK Jr  SSKJr  SS	KJ	r	  SS
K	J
r
  SSK	Jr  SSK	Jr  SSK	Jr  SSK	Jr   " S S\\5      rg)    N)Column)Integer)MetaData)Table   )AutogenFixtureTest   )testing)eq_)is_)is_true)mock)TestBasec                       \ rS rSrSrSrS rS r\R                  " S S S S	 5      S
 5       r
\R                  " S S S S 5      S 5       rSrg)AutogenerateComputedTest   )computed_columnsTc                 R   [        5       n[        5       n[        SU[        S[        SS95        [        SU[        S[        SS9[        S[        [        R
                  " S5      5      5        U R                  X5      n[        US   S   S5        [        US   S	   S5        [        US   S
   R                  S5        US   S
   R                  n[        [        U[        R
                  5      5        [        UR                  S 5        [        [        UR                  5      S5        g )NuseridTprimary_keyfoo5r   
add_column   r	   )r   r   r   r   saComputed_fixturer   namecomputedr   
isinstancer   	persistedstrsqltextselfm1m2diffscs        n/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/alembic/testing/suite/test_autogen_computed.pytest_add_computed_column1AutogenerateComputedTest.test_add_computed_column   s    ZZfb&wDAB4d35'2;;s#34		
 b%E!HQK&E!HQK E!HQKe$!HQK  
1bkk*+AKKC		NC     c                 6   [        5       n[        5       n[        SU[        S[        SS9[        S[        [        R
                  " S5      5      5        [        SU[        S[        SS95        U R                  X5      n[        US   S   S5        [        US   S	   S5        US   S
   n[        UR                  S5        [        [        UR                  [        R
                  5      5        [        [        UR                  [        R
                  5      5        g )Nr   r   Tr   r   r   r   remove_columnr   r	   )r   r   r   r   r   r   r   r   r    r   r"   r!   server_defaultr&   s        r,   test_remove_computed_column4AutogenerateComputedTest.test_remove_computed_column,   s    ZZ4d35'2;;s#34		
 	fb&wDABb%E!HQK)E!HQK !HQKAFFE
1::r{{34
1++R[[9:r/   c                  2    S [         R                  " S5      4$ Nbar*5r   r    r/   r,   <lambda>!AutogenerateComputedTest.<lambda>D   s    r{{7+,r/   c                  2    [         R                  " S5      S 4$ r6   r8   r9   r/   r,   r:   r;   E   s    "++g&-r/   c                  X    [         R                  " S5      [         R                  " SSS94$ )Nr7   bar * 42T)r#   r8   r9   r/   r,   r:   r;   F   s!    KK KK
d3
r/   c                  Z    [         R                  " S5      [         R                  " S5      4$ )Nr7   r>   r8   r9   r/   r,   r:   r;   J   s    W%r{{:'>?r/   c           
      t   [         R                  " U40 [        5       D6u  p#[        5       n[        5       nUc  / OU/nUc  / OU/n[	        SU[        S[        SS9[        S[        5      [        S[        /UQ76 5        [	        SU[        S[        SS9[        S[        5      [        S[        /UQ76 5        [        R                  " S5       nU R                  XE5      nS S S 5        [        WR                  [        R                  " S5      /5        [        [        W5      / 5        g ! , (       d  f       NO= f)	Nr   r   Tr   barr   alembic.util.warnz/Computed default on user.foo cannot be modified)r
   resolve_lambdalocalsr   r   r   r   r   patchr   r   
mock_callscalllistr'   	test_case
arg_before	arg_afterr(   r)   	mock_warnr*   s           r,   !test_cant_change_computed_warning:AutogenerateComputedTest.test_cant_change_computed_warningC   s    !( 6 6y MFH M
ZZ%-RJ<
#+B)	4d35'"5'/J/	
 	4d35'"5'.I.	
 ZZ+,	MM")E - 	  YYHIJ	

 	DK -,s   D))
D7c                      g)N)NNr9   r9   r/   r,   r:   r;   o   s    r/   c                  Z    [         R                  " S5      [         R                  " S5      4$ )Nr   r8   r9   r/   r,   r:   r;   p   s    S!2;;s#34r/   c                  Z    [         R                  " S5      [         R                  " S5      4$ r6   r8   r9   r/   r,   r:   r;   q   s    W%r{{7';<r/   c                  Z    [         R                  " S5      [         R                  " S5      4$ )Nr7   z
bar * 
	5r8   r9   r/   r,   r:   r;   r   s    W%r{{?'CDr/   c           
      J   [         R                  " U40 [        5       D6u  p#[        5       n[        5       nUc  / OU/nUc  / OU/n[	        SU[        S[        SS9[        S[        5      [        S[        /UQ76 5        [	        SU[        S[        SS9[        S[        5      [        S[        /UQ76 5        [        R                  " S5       nU R                  XE5      nS S S 5        [        WR                  / 5        [        [        W5      / 5        g ! , (       d  f       N:= f)Nr   r   Tr   rA   r   rB   )r
   rC   rD   r   r   r   r   r   rE   r   r   rF   rH   rI   s           r,   test_computed_unchanged0AutogenerateComputedTest.test_computed_unchangedn   s     !( 6 6y MFH M
ZZ%-RJ<
#+B)	4d35'"5'/J/	
 	4d35'"5'.I.	
 ZZ+,	MM")E -I  "%DK	 -,s   D
D"r9   N)__name__
__module____qualname____firstlineno____requires____backend__r-   r3   r
   combinationsrN   rU   __static_attributes__r9   r/   r,   r   r      sr    (LK!0;. ,	-	
 	@  D 4<D	r/   r   )
sqlalchemyr   r   r   r   r   _autogen_fixturesr    r
   r   r   r   r   r   r   r9   r/   r,   <module>rb      s:         1      @18 @r/   