MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_seq_nonpk

Method test_seq_nonpk

test/sql/test_sequences.py:648–689  ·  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

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