L iHddlmZddlmZddlZddlmZddlm Z ddl m Z dd l m Z dd l m Z dd lmZdd lmZdd lmZddl mZddlmZddlmZddlmZGddeZGddee e j2ZGddeZGddZeZdZdZ dZ!dZ"y)) annotations)AnyN)TestBase) TablesTest) assertions)config)schema) BasicEntity)ComparableEntity)adict)orm)DeclarativeBase)events)registryc0eZdZejdZy)ORMTestctSN)fixture_sessionselfs e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sqlalchemy/testing/fixtures/orm.pyrzORMTest.fixture_sessions   N)__name__ __module__ __qualname__r fixturerrrrrs ^^!!rrceZdZUdZdZdZded<ejddd Z ejdd d Z e d Z e d Z e dZdZdZe dZe dZdZdZe dZe dZy) MappedTestonceeachNrclassesTclass)autousescopec#BK|j}|j|jt|_|j |j |j |jd|j|jywr) __class__ _init_classr&r_setup_once_tables_setup_once_classes_setup_once_mappers_setup_once_inserts_teardown_once_class_teardown_once_metadata_bind)rclss r_setup_tables_test_classz#MappedTest._setup_tables_test_class*swnn  ;; 'CK   ! ! !    " ((*sBBfunctionc#0K|j|j|j|jdtj j |j|j|jywr) _setup_each_tables_setup_each_classes_setup_each_mappers_setup_each_insertsrsessionclose_all_sessions_teardown_each_mappers_teardown_each_classes_teardown_each_tablesrs r_setup_tables_test_instancez&MappedTest._setup_tables_test_instance<sm !   "   "   "  &&( ##% ##% ""$sBBc8|jjyr)r&clearr3s rr1zMappedTest._teardown_once_classJs rcZ|jdk(r|j|jyyNr$run_setup_classes_with_register_classes setup_classesrCs rr.zMappedTest._setup_once_classesNs)  F *  & &s'8'8 9 +rc|jdk(r9|j\|_|_|j |j yyrE)run_setup_mappers_generate_registrymapper_registrymapperrH setup_mappersrCs rr/zMappedTest._setup_once_mappersSsA  F *.1.D.D.F +C   & &s'8'8 9 +rc|jdk7r1|j\|j_|j_|jdk(r|j |j yy)Nr$r%)rKrLr+rMrNrHrOrs rr9zMappedTest._setup_each_mappersYs`  ! !V +'') .%  ! !V +  ' '(:(: ; ,rcZ|jdk(r|j|jyy)Nr%rFrs rr8zMappedTest._setup_each_classescs)  ! !V +  ' '(:(: ; ,rcJt|j}||jfS)N)metadata)r_tables_metadatamap_imperatively)r3decls rrLzMappedTest._generate_registrygs#!5!56T****rc|jGfdd}Gddt|}Gddt|}||_||_|y)zRun a setup method, framing the operation with a Base class that will catch new subclasses to be established within the "classes" registry. c$eZdZdfd ZxZS)0MappedTest._with_register_classes.._BasecHJ||j<t| yrrsuper__init_subclass__)r3r+ cls_registrys rr]zBMappedTest._with_register_classes.._Base.__init_subclass__vs(#///-0 S\\*)+rreturnNone)rrrr] __classcell__)r+r^s@r_BaserYus  , ,rrcc eZdZy)0MappedTest._with_register_classes..BasicNrrrr!rrBasicre{ rrgc eZdZy)5MappedTest._with_register_classes..ComparableNrfr!rr Comparablerj~rhrrkN)r&r r rgrk)r3fnrcrgrkr^s @rrHz!MappedTest._with_register_classeslsJ{{  , ,  K  )5  # rcL|jdk7rtjyyrE)rKr clear_mappersrs rr=z!MappedTest._teardown_each_mapperss#  ! !V +     ,rcX|jdk7r|jjyyrE)rGr&rBrs rr>z!MappedTest._teardown_each_classess%  ! !V + LL    ,rcyrr!rCs rrIzMappedTest.setup_classes rcyrr!rCs rrOzMappedTest.setup_mappersrqr)rrrrGrKr&__annotations__r r r4r@ classmethodr1r.r/r9r8rLrHr=r>rIrOr!rrr#r#!sGSV^^D0+1+"V^^D 3 %4 %:::: <<++  0 !    rr#c@eZdZdZdZedZefdZxZS)DeclarativeMappedTestr$cyrr!rCs rr-z(DeclarativeMappedTest._setup_once_tablesrqrc jGfddt}|_t|j j r7jr*j jtjyyy)NceZdZejZWj Zee jje jddddiZ dfd Z xZS)?DeclarativeMappedTest._with_register_classes.._DeclBase2mysqlmariadboraclecJJ||j<t|di|y)Nr!r[)r3kwr+r^s rr]zQDeclarativeMappedTest._with_register_classes.._DeclBase.__init_subclass__s-#///-0 S\\*)/B/rr_)rrrr Table __table_cls__rTrSstrsaString with_varianttype_annotation_mapr]rb)r+r3r^s@r _DeclBaserzsT"LLM++HYRYY[--BIIbM7Ix#   0 0rr) r&rDeclarativeBasicr\rHrTtablesrun_create_tables create_allr db)r3rlrr^r+s` @rrHz,DeclarativeMappedTest._with_register_classessi{{  0 0 ) &r*    & &3+@+@  + +FII 6,A &r) rrrrGrKrtr-rHrb)r+s@rrvrvs5  77rrvc>eZdZejddZy)RemoveORMEventsGloballyT)r(c#@Kdtjjtjjtjjtj jtj jywr) orm_events MapperEvents_clearInstanceEvents SessionEventsInstrumentationEvents QueryEventsrs r_remove_listenersz)RemoveORMEventsGlobally._remove_listenerssc &&(!!((*  '')((//1%%'sBBN)rrrr r rr!rrrrsV^^D!("(rrc |jdd|jdd|jdtj}t j |fi|}t j||S)N autoflushTexpire_on_commitbind) setdefaultpopr rrSession_fixture_sessionsadd)rrsesss rrrsYMM+t$MM$d+ 66&&)) $D ;;t "r "D$ KrcTtjtjyr)rr<rrBr!rrr<r<src@ttjyr)r<rrnrCs rstop_test_class_inside_fixturesrsrc&tr tyyr)rr<r!rr after_testrsr)# __future__rtypingr sqlalchemyrbasersqlrr r r entitiesr r utilrrrrrrrAssertsExecutionResultsr#rvrsetrrr<rrr!rrrs#"'"'!h! u *j&H&Hu p!7J!7H((E  r