MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_seq_nonpk

Method test_seq_nonpk

test/sql/test_sequences.py:642–683  ·  view source on GitHub ↗

test sequences fire off as defaults on non-pk columns

(self, connection, table_fixture, implicit_returning)

Source from the content-addressed store, hash-verified

640 argnames="implicit_returning",
641 )
642 def test_seq_nonpk(self, connection, table_fixture, implicit_returning):
643 """test sequences fire off as defaults on non-pk columns"""
644
645 sometable, cartitems = table_fixture(implicit_returning)
646
647 conn = connection
648 result = conn.execute(sometable.insert(), dict(name="somename"))
649
650 eq_(result.postfetch_cols(), [sometable.c.obj_id])
651
652 result = conn.execute(sometable.insert(), dict(name="someother"))
653
654 conn.execute(
655 sometable.insert(), [{"name": "name3"}, {"name": "name4"}]
656 )
657
658 dsb = testing.db.dialect.default_sequence_base
659 eq_(
660 list(conn.execute(sometable.select().order_by(sometable.c.id))),
661 [
662 (
663 dsb,
664 "somename",
665 dsb,
666 ),
667 (
668 dsb + 1,
669 "someother",
670 dsb + 1,
671 ),
672 (
673 dsb + 2,
674 "name3",
675 dsb + 2,
676 ),
677 (
678 dsb + 3,
679 "name4",
680 dsb + 3,
681 ),
682 ],
683 )
684
685
686class SequenceAsServerDefaultTest(

Callers

nothing calls this directly

Calls 6

eq_Function · 0.90
executeMethod · 0.45
insertMethod · 0.45
postfetch_colsMethod · 0.45
order_byMethod · 0.45
selectMethod · 0.45

Tested by

no test coverage detected