bg#tUddlmZddlZddlmZddlZddlZddlmZddlm Z ddl m Z ddl m Z ddl m Z dd l mZdd l mZdd l mZdd l mZdd lmZddlmZddlmZddlmZddlmZddlZddlmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl'm)Z)ddl'm*Z*ej+Z,e,-dgGddeZGdd eeZe)rdd!lm.Z.n Gd"d#Z.d$e._/d0d&Z0iZ1d'e2d(<ed)Z3ed*Z4 d1d-Z5Gd.d/Z6dS)2) annotationsN)contextmanager)Any)Dict)Column)inspect)MetaData)String)Table)testing)text)config)mock)eq_) TablesTest)TestBase) _get_dialect)EnvironmentContext)MigrationContext) Operations) sqla_compatcreate_mock_engine)sqla_14)sqla_2ztest.cfgceZdZeZejdZejdZejdZ dS)rc#K|d5t|VddddS#1swxYwYdS)NT)_per_migration)begin_transactionr)selfmigration_contexts i/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/alembic/testing/fixtures.py ops_contextzTestBase.ops_context)s  0 0 0 E E 0 0.// / / / 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s 8<<cJtj|tdS)NT)transaction_per_migration)opts)r configuredict)r" connections r$r#zTestBase.migration_context.s,) TDAAA    c#Ktj5}|VddddS#1swxYwYdSN)rdbconnect)r"conns r$r+zTestBase.connection4s Y    DJJJ                  s 377N) __name__ __module__ __qualname__ris_sqlalchemy_futurer fixturer%r#r+r,r$rr&sx!W_000 _  _  __r,rceZdZdS)rN)r2r3r4r7r,r$rr:sDr,r)FutureEngineMixinceZdZdZdS)r9) sqlalchemy_14N)r2r3r4 __requires__r7r,r$r9r9Bs) r,r9T postgresql://c>gfd}t||fS)Nc~t|jdSN)dialect)appendstrcompilerA)sql multiparamsparamsbufengines r$dumpzcapture_db..dumpLs3 3s{{6>{::;;<<<<.configure`0 RtS C   r,r)) popioBytesIOStringIOrUrr)rpatchobject)rZrHr)rYs` @r$capture_context_bufferrbVs vvj%  jllkmmIIx#>>???  'D!!!!!!   -{I F F sB$$B(+B(c+Kddlm}ddlm}t j|}|}||dfd}d|itj fd}tj td |5VddddS#1swxYwYdS) Nr)_sqlite_file_dbr)eventbefore_cursor_executec8|dzdS)N )write)r1cursor statement parameterscontext executemanyrHs r$bcez*capture_engine_context_buffer..bcess  )d"#####r,r+c.|jdi|i|SrSrTrVs r$r)z0capture_engine_context_buffer..configurezr[r,r))envrd sqlalchemyrer]r_r0 listens_forrUrr)rr`ra) rZrdreengr1ror)rHrYs ` @@r$capture_engine_context_bufferruhsP$$$$$$      +--C /  C ;;==D t455$$$$65$II|T"###  'D!!!!!!   -{I F F s3CC  C defaultFc i}|rt||d<Gfdd}| G fddt}r|d<|r||d<ts|d krtd  d _nt| || _d _s fd }tj |} n |d<d} | | |} t| tj _ | S)N)naming_conventiontarget_metadatac&eZdZdZfdZdZdS)op_fixture..buffer_cg|_dSr.linesr"s r$__init__z$op_fixture..buffer_.__init__s DJJJr,c|}tjdd|}r,tjdd|}tjdd|}|j|dS)N[\n\t]z z\;\n*$)stripresubr~rB)r"msgas_sqls r$riz!op_fixture..buffer_.writeso))++C&B,,C 1fWb#..fYC00 J  c " " " " "r,cdSr.r7rs r$flushz!op_fixture..buffer_.flushs Dr,N)r2r3r4rrir)rsr$buffer_r{sL    # # # # #     r,rc8eZdZfdZfdZfdZfdZdS)op_fixture..ctxcSr.r7r"rHs r$get_bufzop_fixture..ctx.get_bufsJr,c gjdd<dSr.r}rs r$clear_assertionsz(op_fixture..ctx.clear_assertionssCIaaaLLLr,cFtjd|DdS)Nc:g|]}tjdd|S)rr)rr).0ss r$ z3op_fixture..ctx.assert_..s&BBBBF9b!44BBBr,)rr~)r"rErHs r$assert_zop_fixture..ctx.assert_s,  BBcBBB C C C C Cr,cxjD]}tjdd||vrdSJd|dj)NrrFzCould not locate fragment z in )r~rr)r"rEstmtrHs r$assert_containsz'op_fixture..ctx.assert_containssb   6)R--55FF6CCIIur,N)r2r3r4rrrr)rHsr$ctxrs~           D D D D D        r,rr literal_bindsmariadbmysql) rMariaDBTct|trt|}|jsJt|}|dSr@) isinstancerCr supports_executionrDri)r multiparamparamrErH ctx_dialects r$executezop_fixture..executes]$$$ "Dzz* * **dll;l7788C IIcNNNNNr,)rArrQ) r rrrserver_version_infosupports_native_boolean#non_native_boolean_check_constraintrMockralembicop_proxy) rArrxrnative_booleanr(rrrr+rmrHrs ` @@r$ op_fixturers DP"*=N"O"O"O $ '))C, X. -_ ,w)++"7++ *? ''#7++ !.< +;? 7        Y{GDDD #_ c+z400G"7++GJ Nr,c2eZdZdZdZdZdZdZddZdS) AlterColRoundTripFixture) alter_columnctj|_t j|j|_t|j|_t|_ dSr.) rr/r0r1rr)rrrr metadatars r$setUpzAlterColRoundTripFixture.setUpsKI%%'' #-di88TX&&  r,ctd|}td|}|jj||rJd|d|ddS)Nqz Type objects  and  didn't compare as equivalent)rrimpl compare_type)r"t1t2c1c2s r$ _compare_typez&AlterColRoundTripFixture._compare_typesw C__ C__8=--    L L LDFBB K L L  L Lr,ctd||}td||}|jj||||rJd|d|ddS)Nr)server_defaultzserver defaults rr)rrrcompare_server_default)r"rs1rs2rrs r$_compare_server_defaultz0AlterColRoundTripFixture._compare_server_defaults CB / / / CB / / /8=77 B   O O OGIrr222 N O O  O Or,c tj|j|j5|j|jdddn #1swxYwY|jdSr.)r%_safe_rollback_connection_transactionr1beginrdrop_allclosers r$tearDownz!AlterColRoundTripFixture.tearDowns9$)DDD Y__   . . M " "49 - - - . . . . . . . . . . . . . . . s AA#&A#Nct|dd|dtd|dd|dd}td |j|}t j|j5||jt|j}| d d }|j d |j |j|j|jnd |jrdnd |dd|dd |dd|dd dddn #1swxYwYt|j}| d d }||}t#|dd|vr|dn|j ||d|d|dt#|d|d|j||d|d d|d|dd|vr |djn|j|jjjnddS)NnamecolnametypernullableTr)rrxrF) existing_typeexisting_server_defaultexisting_nullablerrnew_column_nametype_rv)rgetr r rr_ensure_scope_for_ddlr1creater get_columnsrrrrrrrrrr rW) r"from_to_comparecolumntinspold_colnew_cols r$_run_alter_colz'AlterColRoundTripFixture._run_alter_cols IIfi ( ( IIffRjj ) )YYz400 99%5t<<     #t}f - -  .ty 9 9   HHTY   49%%D&&s++A.G G  $k(4)/(=(=*0/"D$$uT22"ww'7?? # 5 5ggfd++ !                   ,ty!!""3''* ?G FO%00GFOOfk     FOW[[AA    GJ Z!I!IJJJ $$ FO KK 4 ( ( KK 0 07** $ % * *$0&*// s CF  FFr.) r2r3r4r<rrrrrr7r,r$rrsq %L### LLLOOO 7 7 7 7 7 7 r,r)r=)rvFNFN)7 __future__r configparser contextlibrr]rtypingrrrrrrr r r r r sqlalchemy.testingrrsqlalchemy.testing.assertionsrsqlalchemy.testing.fixturesrSQLAlchemyTablesTestrSQLAlchemyTestBaser assertionsr environmentr migrationr operationsrutilrutil.sqla_compatrrr ConfigParsertesting_configreadr9r5rKrL__annotations__rbrurrr7r,r$rst"""""""%%%%%% %%%%%%######------JJJJJJFFFFFF$$$$$$,,,,,,((((((######111111&&&&&&%%%%%%+*,,ZL!!!!(     /    *=======*********.&"4   VVVVrY Y Y Y Y Y Y Y Y Y r,