S8(ddlmZddlmZddlmZddlmZddlmZddlmZddlmZd d l m Z d d l m Z d d l m Z d d l m Z d dl mZGddeeZGddeeZGddeeZdS))Column)ForeignKeyConstraint)Integer)MetaData)String)Table)AutogenFixtureTest) combinations)configeq_)mock)TestBasecpeZdZdZdZdZdZdZdZdZ dZ e j j d Zd Zd Zd S) AutogenerateForeignKeysTestT)!foreign_key_constraint_reflectionc t}t}td|tdtddtd|tdtdtdtd d td tdd tdtdt dgdgtd|tdtddtd|tdtdtdtd d td tdd tdtd|||}||ddddgddgddS)N some_tabletest T primary_keyuseridname2Fnullablea1xserver_defaulttest2some_table.testr remove_fkservergeneratedconditional_namerrrrrr_fixture_assert_fk_diffselfm1m2diffss x/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/alembic/testing/suite/test_autogen_fks.pytest_remove_fkz*AutogenerateForeignKeysTest.test_remove_fks ZZ ZZ   66"::4 8 8 8      4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' ' '->,? @ @       66"::4 8 8 8      4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' '     b"%%  !H   I  H.      c t}t}td|tdtdtdt dtd|tdtdtdt d d td t dd tdt dtd|tdtdtdt dtd|tdtdtdt d d td t dd tdt dt dgdg|||}||ddddgddgdS)NrrTrrrrrrFrr!r"r#r%r&radd_fk)rrrrrrr,r-r.s r3 test_add_fkz'AutogenerateForeignKeysTest.test_add_fkCs ZZ ZZ   4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' '        4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' ' '->,? @ @    b"%%  !Hh <&     r5c t}t}td|tdtdtdt dtd|tdtdtdt d d td t dd tdtt dgdgtd|tdtdtdt dtd|tdtdtdt d d td t dd tdtt dgdg|||}t|gdS)NrrTrrrrrrFrr!r"r#r% some_table.id)rrrrrrr,rr.s r3test_no_changez*AutogenerateForeignKeysTest.test_no_changens ZZ ZZ   4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 4C 8 8 8 7G $ $ '_,= > >       4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 4C 8 8 8 7G $ $ '_,= > >    b"%% E2r5cnt}t}td|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtdt ddgddgtd|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtdt ddgddg|||}t|gdS)Nrid_1rTrid_2rrrrFrr!r"r# other_id_1 other_id_2some_table.id_1some_table.id_2rrrrrrr,rr.s r3test_no_change_composite_fkz7AutogenerateForeignKeysTest.test_no_change_composite_fks  ZZ ZZ   66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , , |,"$56       66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , , |,"$56    b"%% E2r5c &t}t}td|tdtddtd|tdtdtdtd d td tdd tdtdt dgdgdtd|tdtddtd|tdtdtdtd d td tdd tdtdt d gdgd|||}||ddddgddgtj j j rdnd||dddd gddgddS)NrrrTrrrrrFrr!r"r#r%r&MyFKrmyfkrr'r r7) rrrrrrr,r-r requirementsfk_namesenabledr.s r31test_casing_convention_changed_so_put_drops_firstzMAutogenerateForeignKeysTest.test_casing_convention_changed_so_put_drops_firsts+ ZZ ZZ   66"::4 8 8 8      4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' ' '->,?f M M M       66"::4 8 8 8       4d 3 3 3 66":: 6 6 6 4C 8 8 8 7F2JJ ' ' $*;)<6 J J J    b"%%  !H   I  H!.7?IT      !H   F  H      r5cxt}t}td|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtdtd|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtdt ddgddgd|||}||dddddgdddgddS)Nrr=rTrr>rrrrFrr!r"r#r?r@rArB fk_test_namerGrr7r+r.s r3test_add_composite_fk_with_namez;AutogenerateForeignKeysTest.test_add_composite_fk_with_names/ ZZ ZZ   66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , ,       66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , , |,"$56#     b"%%  !H   < (  V       r5cxt}t}td|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtdt ddgddgdtd|tdtddtdtddtd|tdtdtd td d td tddtdtdtdtd|||}||dddddgdddgddS)Nrr=rTrr>rrrrFrr!r"r#r?r@rArBrNrGrr'r)r+r.s r3test_remove_composite_fkz4AutogenerateForeignKeysTest.test_remove_composite_fk=s/ ZZ ZZ   66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , , |,"$56#        66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 66":: 6 6 6 4C 8 8 8 < , , < , ,    b"%%  !H   < (  V +      r5c t}t}td|tdtddtdtddtd|tdtdtd tdtd tdtd|tdtdd d tdtdd d td|tdtdtd tddtd tddt ddgddgd|||}||dddd d gdddgddS)Nrr=rTrr>rrr?r@tid1keyrtid2oid1rUoid2some_table.tid1some_table.tid2rNrGrr7r+r.s r3test_add_fk_colkeysz/AutogenerateForeignKeysTest.test_add_fk_colkeysus ZZ ZZ   66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 < , , < , ,        66"::6t D D D 66"::6t D D D        4d 3 3 3 < 8 8 8 < 8 8 8  "$56#     b"%%  !H   < (  V       r5c t}t}td|tdtddtdtddtd|tdtdtd tdtd tdt d d gd d gtd|tdtdd dtdtdddtd|tdtdtd tddtd tddt ddgddg|||}t|gdS)Nrr=rTrr>rrr?r@rArBrSrTrVrWrXrYrZr[rCr.s r3test_no_change_colkeysz2AutogenerateForeignKeysTest.test_no_change_colkeyss ZZ ZZ   66"::4 8 8 8 66"::4 8 8 8        4d 3 3 3 < , , < , , |,"$56       66"::6t D D D 66"::6t D D D        4d 3 3 3 < 8 8 8 < 8 8 8  #46G"H    b"%% E2r5N)__name__ __module__ __qualname__ __backend__ __requires__r4r8r;rDrLrOr rIno_name_normalizerQr\r^r5r3rrsK9L- - - ^) ) ) V(((T000d; ; ; z4 4 4 l *5 5 +*5 n1 1 1 f+++++r5rceZdZdZdZeddejjdZ dZ eddejjdZ dS) IncludeHooksTestT)rJ)objectrGc t}t}td|tdtd}td|tdttdt}|t |jjg|jjgd |t |jj g|jjgd td|tdtd}td|tdttdt|d krd }| ||| }n!|dkrd}| |||}| |ddddgddgd tt|ddS)NrefrTrtr"yfk1rGfk2rhcJt|to |dko|o|dk SNforeign_key_constraintrm isinstancerobject_rtype_ reflected compare_tos r3include_objectzBIncludeHooksTest.test_remove_connection_fk..include_objects>w(<==&!99&!& r5object_filtersrcn|dkr.|dkrdSt|dt|dddddSdS)NrmindexTrqrk schema_name table_nameschema_qualified_table_nameFrrrv parent_namess r3 include_namez@IncludeHooksTest.test_remove_connection_fk..include_name s`5==''#t7888$+/*-;>!54r5 name_filtersrr'r)r rrrrappend_constraintrcr"rrlr,r-rlen) r/ hook_typer0r1rjt1ryr2rs r3test_remove_connection_fkz*IncludeHooksTest.test_remove_connection_fksZZ ZZ   4d 3 3 3      3 3     "$&CEH:E B B B     "$&CEH:E B B B      4d 3 3 3      3 3         MM"bMHHEE &    "MM"b|MDDE  !H   E  F"     CJJr5c Zt}t}td|tdtdtd|tdttdttd|tdtd}td|tdttdt}|t |jjg|jjgd |t |jj g|jjgd d }| ||| }| |d dddgddgd tt|ddS)NrjrTrrkr"rlrmrGrncLt|to|dko| o|dk Srprrrts r3ryz=IncludeHooksTest.test_add_metadata_fk..include_objectKs@7$899"55"!M"EM  r5rzrr7r r)r/r0r1rjt2ryr2s r3test_add_metadata_fkz%IncludeHooksTest.test_add_metadata_fk)s ZZ ZZ   4d 3 3 3      3 3       4d 3 3 3      3 3     "$&CEH:E B B B     "$&CEH:E B B B       b"^ DD  !HhcUED6     CJJr5c t}t}td|tdtd}td|tdtdtdtdtd|tdttd ttd t}|t |jjg|jjgd |t |jj g|jjgd td|tdtdtd|tdtdtdtd}td|tdttd ttd t}|t |jj|jj g|jj|jj gd |t |jj |jj g|jj|jj gd |dkrd}| |||} n!|dkrd} | ||| } |dkri| | dddd gddgd | | dddd d gdddgd tt| ddS|dkrtd| DhddSdS)Nref_aaTrref_bbrkr"rlzrmrGrnrhcFt|to |dko|dk Srprrrts r3ryz7IncludeHooksTest.test_change_fk..include_objects4w(<==&!99& r5rzrcn|dkrdS|dkr&t|dt|dddddSdS)Nr}Trmrqrkr~Frrs r3rz5IncludeHooksTest.test_change_fk..include_names`G##45==7888$+/*-;>!54r5rrr'r r7c8h|]}|d|djfS)rr rG).0ds r3 z2IncludeHooksTest.test_change_fk..s'222q!A$! "222r5>r7rmr7rnr'rn)rrrrrrrr"rrlrrr,r-rr) r/rr0r1r1arr2brryr2rs r3test_change_fkzIncludeHooksTest.test_change_fkZsZZ ZZ   3T 2 2 2      3T 2 2 2 3T 2 2 2       3 3 3     "$&CEG95 A A A     "$&CEG95 A A A       3T 2 2 2      3T 2 2 2 3T 2 2 2       3 3 3      357CEG"45        357CEG"45          MM"bMHHEE &    $MM"b|MDDE   a+sSE7SE !     ac c  !    E A      & 22E222LLL     ! r5N) r_r`rarbrcr r rIrdrrrrer5r3rgrgsK L\+y)) *KK+**)KZ///b\+y)) *ll+**)lllr5rgcheZdZdZdZejjdZejjdZ dZ ejj dZ ejj dZ ejjdZejjd Zejjd Zejjd Zejjd Zejjd ZejjdZejjejj dZejjdZejjdZejjejjdZejjejjdZejjejjdZ ejjejjdZ!ejjejjdZ"ejjdZ#ejj$dZ%dS)AutogenerateFKOptionsTestTc  t}t}td|tdtdtdt dtd|tdtdtdt d d td tt d gd gfi|td|tdtdtdt dtd|tdtdtdt d d td tt d gd gfi||||S)NrrTrrrrrrFrtidr:)rrrrrrr,)r/old_optsnew_optsr0r1s r3_fk_opts_fixturez*AutogenerateFKOptionsTest._fk_opts_fixtures| ZZ ZZ   4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 5' " " %?*; H Hx H H        4d 3 3 3 66":: & &        4d 3 3 3 66":: 6 6 6 5' " " %?*; H Hx H H    }}R$$$r5c |iddi}||ddddgddgdd ||d d ddgddgd dS)Nondeletecascaderr'rrrrr(rr*r r7rrr-r/r2s r3test_add_ondeletez+AutogenerateFKOptionsTest.test_add_ondelete%%b:y*ABB  !H   G  F.    !H   G  F      r5c |ddii}||ddddgddgdd ||d d ddgddgd dS)NrCASCADErr'rrrrr(rr r7rrrs r3test_remove_ondeletez.AutogenerateFKOptionsTest.test_remove_ondelete %%z9&=rBB  !H   G  F.    !H   G  F      r5cZ|ddiddi}t|gdS)test case sensitivityrcaSCAdeCasCadeNrrrs r3test_nochange_ondeletez0AutogenerateFKOptionsTest.test_nochange_ondelete&s9%%  #j)%<   E2r5c |iddi}||ddddgddgdd ||d d ddgddgd dS)Nonupdaterrr'rrrrr(rr*r r7rrrs r3test_add_onupdatez+AutogenerateFKOptionsTest.test_add_onupdate-rr5c |ddii}||ddddgddgdd ||d d ddgddgd dS)Nrrrr'rrrrr(rr r7rrrs r3test_remove_onupdatez.AutogenerateFKOptionsTest.test_remove_onupdateFrr5cZ|ddiddi}t|gdS)rrrrNrrs r3test_nochange_onupdatez0AutogenerateFKOptionsTest.test_nochange_onupdate_s;%%  #j)%<   E2r5cZ|ddiddi}t|gdS)6test the RESTRICT option which MySQL doesn't report onrrestrictNrrs r3test_nochange_ondelete_restrictz9AutogenerateFKOptionsTest.test_nochange_ondelete_restrictg;%%  $z:&>   E2r5cZ|ddiddi}t|gdS)rrrNrrs r3test_nochange_onupdate_restrictz9AutogenerateFKOptionsTest.test_nochange_onupdate_restrictprr5cZ|ddiddi}t|gdS)>    !H   G  F.    !H   G  F!  r5c |dddi}||ddddgdd gddd ||d d ddgdd gdddS)NrTrrr'rrrrr(rr r7rrs r3/test_remove_initially_immediate_plus_deferrablezIAutogenerateFKOptionsTest.test_remove_initially_immediate_plus_deferrable:s%%%T : :B    !H   G  F.    !H   G  F  r5c^|dddddd}t|gdS)NTrrrrrs r3*test_add_initially_deferrable_nochange_onezDAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_oneXsB%%k : :k : :   E2r5c^|dddddd}t|gdS)NTrrrrs r3*test_add_initially_deferrable_nochange_twozDAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_twobB%%j 9 9j 9 9   E2r5c^|dddddd}t|gdS)Nrrrrs r3,test_add_initially_deferrable_nochange_threezFAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_threelrr5c |iddi}||ddddgddgdd ||d d ddgddgd dSNrTrr'rrrrr()rr*r r7)rrrs r3test_add_deferrablez-AutogenerateFKOptionsTest.test_add_deferrablevs%%b<*>??  !H   G  F.    !H   G  F      r5c |ddii}||ddddgddgdd ||d d ddgddgd dSrrrs r3test_remove_deferrablez0AutogenerateFKOptionsTest.test_remove_deferrables%%|T&:B??  !H   G  F.    !H   G  F      r5N)&r_r`rarbrr rIfk_ondelete_is_reflectedrrrfk_onupdate_is_reflectedrr fk_onupdaterfk_ondelete_restrictrfk_onupdate_restrictrfk_ondelete_noactionrrrrr fk_initiallyrr fk_deferrablerrrrrrfk_deferrable_is_reflectedrrer5r3rrshK$%$%$%L 1  21 0 1  21 0 1  21 0 1  21 0 $%$ -.- -.- -.- $%$ -  .- > -  .- > 1 1  2121 : %  &% 0 %  &% 2 & %  &%'& 6 & %  &%'& 8 % &'&&% % &'&&% % &'&&% &  '& 0 3  43   r5rN) sqlalchemyrrrrrr_autogen_fixturesr testingr r rrrrrgrrer5r3r s++++++111111######CCCCC"4hCCCLrrrrr)8rrrj[ [ [ [ [ 2H[ [ [ [ [ r5