U a "@sddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z dd lmZddlmZGdddejZGdddejejZGdddejZGdddejZdS))config)fixtures)eq_)is_true) requirements)Column)Table)inspect)Integer)MetaData)Sequence)String)testingc@seZdZdZdZdZeddZddZdd Z d d Z e j d d Z ddZddZejddddejjddZejjddZdS) SequenceTest sequencesTZeachc Cstd|tdttdddtdtdtd|tdttdtdd ddtdtdtd |tdttd ddtdtdd d tjjjrtd|tdttdt j dddtdtdd t j ddS)Nseq_pkidZ tab_id_seqTZ primary_keydata2 seq_opt_pk)Z data_typeoptionalseq_no_returningZ noret_id_seqF)implicit_returningseq_no_returning_schnoret_sch_id_seqschemarr) rrr r rrrequiresschemasenabledr test_schemaclsmetadatar(gC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-nyjtotrf\sqlalchemy\testing\suite\test_sequence.py define_tabless`         zSequenceTest.define_tablescCs.||jjtdd||jj|dSN some datar)executetablesrinsertdict_assert_round_tripself connectionr(r(r)test_insert_roundtripLsz"SequenceTest.test_insert_roundtripcCs2||jjtdd}t|jtjj j fdSr+) r.r/rr0r1rinserted_primary_keyrdbdialectdefault_sequence_baser4r5rr(r(r)test_insert_lastrowidPs  z"SequenceTest.test_insert_lastrowidcCs(||jjjjj}t|tjj j dSN) r.r/rcrdefaultrrr8r9r:r;r(r(r)test_nextval_directXsz SequenceTest.test_nextval_directcCs*||jjtdd}t|jddS)Nr,r-))r.r/rr0r1rr7r;r(r(r)test_optional_seq\s  zSequenceTest.test_optional_seqcCs*||}t|tjjjdfdS)Nr,)r.selectfirstrrr8r9r:)r4tableconnrowr(r(r)r2cszSequenceTest._assert_round_tripcCs.||jjtdd||jj|dSr+)r.r/rr0r1r2r3r(r(r)+test_insert_roundtrip_no_implicit_returninggs  z8SequenceTest.test_insert_roundtrip_no_implicit_returning)T)Fr)argnamesc Csltdttdttdddddtdtd |dd }|jdtjid }| | t d d | ||dS)Nrrr alt_schemarTrrrr Zschema_translate_mapr,r-) rr rr r rexecution_optionsrr$r.r0r1r2)r4r5rrr(r(r)test_insert_roundtrip_translatems$  z,SequenceTest.test_insert_roundtrip_translatecCs<tddd}|jdtjid}||}t|tjjj dS)NrrKrrL) r rMrr$r.rrr8r9r:)r4r5seqr<r(r(r)$test_nextval_direct_schema_translates   z1SequenceTest.test_nextval_direct_schema_translateN)__name__ __module__ __qualname__ __requires__ __backend__Zrun_create_tables classmethodr*r6r=rArZsequences_optionalrCr2rIr combinationsr!r"rNrPr(r(r(r)rs" 5  rc@seZdZdZdZddZdS)SequenceCompilerTestrTcCsltdttdttdtdt}|jdd}|jjd|jd td}|j |d|fd |jd dS) NxyZy_seqq)r[)Z statementr9z#INSERT INTO x (y, q) VALUES (%s, 5)T)Z literal_bindsr9) rr rr r r0valuesr9Zstatement_compilerZvisit_sequenceZassert_compile)r4r5rFZstmtZ seq_nextvalr(r(r)!test_literal_binds_inline_compiles&z6SequenceCompilerTest.test_literal_binds_inline_compileN)rQrRrSrTrUr^r(r(r(r)rXsrXc@seZdZdZdZdZeddZddZdd Z e j j d d Z d d Ze j j ddZe j j ddZe j j ddZddZe j j ddZe j j ddZdS)HasSequenceTestNrTcCs`td|dtd|dddtjjjrFtdtj|dtdtj|dtd|td t dd dS) N user_id_seq)r' other_seqT)r'Z nomaxvalueZ nominvalue)rr' schema_seq user_id_tablerr) r rr!r"r#rr$rrr r%r(r(r)r*s.   zHasSequenceTest.define_tablescCstt|dddS)Nr`Trr has_sequencer3r(r(r)test_has_sequences z!HasSequenceTest.test_has_sequencecCstt|dddS)NrcFrdr3r(r(r)test_has_sequence_other_objects z.HasSequenceTest.test_has_sequence_other_objectcCstt|jdtjdddS)Nr`rTrr rerr$r3r(r(r)test_has_sequence_schemasz(HasSequenceTest.test_has_sequence_schemacCstt|dddS)N some_sequenceFrdr3r(r(r)test_has_sequence_negs z%HasSequenceTest.test_has_sequence_negcCstt|jdtjdddS)NrjrFrhr3r(r(r)test_has_sequence_schemas_negsz-HasSequenceTest.test_has_sequence_schemas_negcCstt|jdtjdddS)NZother_sequencerFrhr3r(r(r)'test_has_sequence_default_not_in_remotesz7HasSequenceTest.test_has_sequence_default_not_in_remotecCstt|dddS)NrbFrdr3r(r(r)'test_has_sequence_remote_not_in_defaults z7HasSequenceTest.test_has_sequence_remote_not_in_defaultcCs:ddh}tt|}t|||ktd|kdS)Nrar`rb)setr get_sequence_namesr intersection)r4r5expresr(r(r)test_get_sequence_namessz'HasSequenceTest.test_get_sequence_namescCstt|jtjdgdS)Nr)rr rprZ test_schema_2r3r(r(r)*test_get_sequence_names_no_sequence_schemas z:HasSequenceTest.test_get_sequence_names_no_sequence_schemacCs$ttt|jtjdddgdS)Nrrbr`)rsortedr rprr$r3r(r(r)(test_get_sequence_names_sequences_schemasz8HasSequenceTest.test_get_sequence_names_sequences_schema)rQrRrSZ run_deletesrTrUrVr*rfrgrr!r"rirkrlrmrnrtrurwr(r(r(r)r_s*      r_c@seZdZdZdZddZdS)HasSequenceTestEmptyrTcCstt|gdSr>)rr rpr3r(r(r)#test_get_sequence_names_no_sequences z8HasSequenceTestEmpty.test_get_sequence_names_no_sequenceN)rQrRrSrTrUryr(r(r(r)rxsrxN)rrZ assertionsrrrrrrr r r r rrZ TablesTestrZAssertsCompiledSQLZTestBaserXr_rxr(r(r(r)s"             i