ó
    úÞ jÊ  ã                   óÌ   • S SK Jr  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KJr  S	SKJr   " S S\	\5      rg)é    )ÚnullcontextN)ÚColumn)ÚInteger)ÚMetaData)ÚTableé   )ÚAutogenFixtureTesté   )Útesting)Úconfig)Úeq_)Úexpect_warnings)Úis_)Úis_true)Úmock)ÚTestBasec                   óª   • \ rS 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                  R                  R                  (       a  [	        5       nU$ [        5       nU$ )N)r   ÚrequirementsÚ"computed_columns_warn_no_persistedÚenabledr   r   )ÚselfÚctxs     Úe/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/testing/suite/test_autogen_computed.pyÚ_fixture_ctxÚ%AutogenerateComputedTest._fixture_ctx   s4   € Ü×Ñ×AÑA×I×IÜ!Ó#ˆCð ˆ
ô “-ˆCØˆ
ó    c                 ó¦  • [        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                  5          U R                  X5      nS S S 5        [        W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 ! , (       d  f       N¹= f)NÚuserÚidT©Úprimary_keyÚfooÚ5r   Ú
add_columné   r
   )r   r   r   r   ÚsaÚComputedr   Ú_fixturer   ÚnameÚcomputedr   Ú
isinstancer   Ú	persistedÚstrÚsqltext©r   Úm1Úm2ÚdiffsÚcs        r   Útest_add_computed_columnÚ1AutogenerateComputedTest.test_add_computed_column   s  € Ü‹ZˆÜ‹Zˆäˆf�bœ& ¤w¸DÑAÔBäØØÜ�4œ¨dÑ3Ü�5œ'¤2§;¢;¨sÓ#3Ó4ô		
ð ×ÑÕ Ø—M‘M "Ó)ˆE÷ !ô 	ˆE�!‰H�Q‰K˜Ô&ÜˆE�!‰H�Q‰K˜Ô ÜˆE�!‰H�Q‰K×Ñ˜eÔ$Ø�!‰H�Q‰K× Ñ ˆä”
˜1œbŸk™kÓ*Ô+ÜˆA�K‰K˜ÔÜŒC�—	‘	‹N˜CÕ ÷ !Õ ús   Á=EÅ
Ec                 óŠ  • [        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                  5          U R                  X5      nS S S 5        [        W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 ! , (       d  f       N«= f)Nr"   r#   Tr$   r&   r'   r   Úremove_columnr)   r
   )r   r   r   r   r*   r+   r   r,   r   r-   r   r/   r.   Úserver_defaultr3   s        r   Útest_remove_computed_columnÚ4AutogenerateComputedTest.test_remove_computed_column8   sï   € Ü‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3Ü�5œ'¤2§;¢;¨sÓ#3Ó4ô		
ô 	ˆf�bœ& ¤w¸DÑAÔBà×ÑÕ Ø—M‘M "Ó)ˆE÷ !ô 	ˆE�!‰H�Q‰K˜Ô)ÜˆE�!‰H�Q‰K˜Ô Ø�!‰H�Q‰KˆÜˆA�F‰F�EÔä”
˜1Ÿ:™:¤r§{¡{Ó3Ô4Ü”
˜1×+Ñ+¬R¯[©[Ó9Õ:÷ !Õ ús   Á=D4Ä4
Ec                  ó2   • S [         R                  " S5      4$ ©Núbar*5©r*   r+   © r    r   Ú<lambda>Ú!AutogenerateComputedTest.<lambda>Q   s   € �”r—{’{ 7Ó+Ñ,r    c                  ó2   • [         R                  " S5      S 4$ r@   rB   rC   r    r   rD   rE   R   s   € ”"—+’+˜gÓ&¨Ñ-r    c                  óX   • [         R                  " S5      [         R                  " SSS94$ )NrA   úbar * 42T)r0   rB   rC   r    r   rD   rE   S   s!   € Ü�KŠK˜Ó Ü�KŠK˜
¨dÑ3ñ
r    c                  óZ   • [         R                  " S5      [         R                  " S5      4$ )NrA   rH   rB   rC   r    r   rD   rE   W   s   € ”—’˜WÓ%¤r§{¢{°:Ó'>Ñ?r    c           
      óÆ  • [         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       o`R                  5          U R                  XE5      nS S S 5        S S S 5        [        WR                  [        R                  " S5      /5        [        [        W5      / 5        g ! , (       d  f       NW= f! , (       d  f       N`= 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,   r   Ú
mock_callsÚcallÚlist©r   Ú	test_caseÚ
arg_beforeÚ	arg_afterr4   r5   Ú	mock_warnr6   s           r   Ú!test_cant_change_computed_warningÚ:AutogenerateComputedTest.test_cant_change_computed_warningP   s%  € ô !(× 6Ò 6°yÑ MÄFÃHÑ MÑˆ
Ü‹ZˆÜ‹Zˆà%Ñ-‘R°J°<ˆ
Ø#Ñ+‘B°)°ˆ	äØØÜ�4œ¨dÑ3Ü�5œ'Ó"Ü�5œ'Ð/ JÒ/ô	
ô 	ØØÜ�4œ¨dÑ3Ü�5œ'Ó"Ü�5œ'Ð. IÒ.ô	
ô �ZŠZÐ+Ô,°	×;LÑ;LÕ;NØ—M‘M "Ó)ˆE÷ <O×,ô 	Ø× Ñ Ü�YŠYÐHÓIÐJô	
ô
 	ŒD�‹K˜Õ÷ <OÕ;Nú×,Õ,ús$   ÃEÃEÃ0EÅ
E	ÅEÅ
E c                  ó   • g)N)NNrC   rC   r    r   rD   rE   |   s   € �r    c                  óZ   • [         R                  " S5      [         R                  " S5      4$ )Nr'   rB   rC   r    r   rD   rE   }   s   € ”—’˜SÓ!¤2§;¢;¨sÓ#3Ñ4r    c                  óZ   • [         R                  " S5      [         R                  " S5      4$ r@   rB   rC   r    r   rD   rE   ~   s   € ”—’˜WÓ%¤r§{¢{°7Ó';Ñ<r    c                  óZ   • [         R                  " S5      [         R                  " S5      4$ )NrA   z
bar * 
	5rB   rC   r    r   rD   rE      s   € ”—’˜WÓ%¤r§{¢{°?Ó'CÑDr    c           
      óœ  • [         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       o`R                  5          U R                  XE5      nS S S 5        S S S 5        [        WR                  / 5        [        [        W5      / 5        g ! , (       d  f       NB= f! , (       d  f       NK= f)Nr"   r#   Tr$   rK   r&   rL   )r   rM   rN   r   r   r   r   r   rO   r   r,   r   rP   rR   rS   s           r   Útest_computed_unchangedÚ0AutogenerateComputedTest.test_computed_unchanged{   s  € ô !(× 6Ò 6°yÑ MÄFÃHÑ MÑˆ
Ü‹ZˆÜ‹Zˆà%Ñ-‘R°J°<ˆ
Ø#Ñ+‘B°)°ˆ	äØØÜ�4œ¨dÑ3Ü�5œ'Ó"Ü�5œ'Ð/ JÒ/ô	
ô 	ØØÜ�4œ¨dÑ3Ü�5œ'Ó"Ü�5œ'Ð. IÒ.ô	
ô �ZŠZÐ+Ô,°	×;LÑ;LÕ;NØ—M‘M "Ó)ˆE÷ <O×,äˆI× Ñ  "Ô%äŒD�‹K˜Õ÷	 <OÕ;Nú×,Õ,ús$   ÃD=ÃD,Ã0D=Ä,
D:	Ä6D=Ä=
ErC   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__requires__Ú__backend__r   r8   r=   r   ÚcombinationsrX   r_   Ú__static_attributes__rC   r    r   r   r      sw   † Ø(€LØ€Kòò!ò2;ð0 ×ÒÙ,Ù	-ñ	
ñ 	@óñ óð ðD ×ÒÙÙ4Ù<ÙDó	ñóór    r   )Ú
contextlibr   Ú
sqlalchemyr*   r   r   r   r   Ú_autogen_fixturesr	   Ú r   r   r   r   r   r   r   r   r   rC   r    r   Ú<module>rm      sC   ðÝ "ã Ý Ý Ý Ý å 1Ý Ý Ý Ý &Ý Ý Ý Ý ôIÐ1°8õ Ir    