MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_autoincrement

Method test_autoincrement

test/sql/test_defaults.py:1048–1096  ·  test/sql/test_defaults.py::PKIncrementTest.test_autoincrement
(self, connection)

Source from the content-addressed store, hash-verified

1046 )
1047
1048 def test_autoincrement(self, connection):
1049 aitable = self.tables.aitable
1050
1051 ids = set()
1052 rs = connection.execute(aitable.insert(), dict(int1=1))
1053 last = rs.inserted_primary_key[0]
1054 self.assert_(last)
1055 self.assert_(last not in ids)
1056 ids.add(last)
1057
1058 rs = connection.execute(aitable.insert(), dict(str1=class="st">"row 2"))
1059 last = rs.inserted_primary_key[0]
1060 self.assert_(last)
1061 self.assert_(last not in ids)
1062 ids.add(last)
1063
1064 rs = connection.execute(aitable.insert(), dict(int1=3, str1=class="st">"row 3"))
1065 last = rs.inserted_primary_key[0]
1066 self.assert_(last)
1067 self.assert_(last not in ids)
1068 ids.add(last)
1069
1070 rs = connection.execute(
1071 aitable.insert().values({class="st">"int1": func.length(class="st">"four")})
1072 )
1073 last = rs.inserted_primary_key[0]
1074 self.assert_(last)
1075 self.assert_(last not in ids)
1076 ids.add(last)
1077
1078 eq_(
1079 ids,
1080 set(
1081 range(
1082 testing.db.dialect.default_sequence_base,
1083 testing.db.dialect.default_sequence_base + 4,
1084 )
1085 ),
1086 )
1087
1088 eq_(
1089 list(connection.execute(aitable.select().order_by(aitable.c.id))),
1090 [
1091 (testing.db.dialect.default_sequence_base, 1, None),
1092 (testing.db.dialect.default_sequence_base + 1, None, class="st">"row 2"),
1093 (testing.db.dialect.default_sequence_base + 2, 3, class="st">"row 3"),
1094 (testing.db.dialect.default_sequence_base + 3, 4, None),
1095 ],
1096 )
1097
1098
1099class AutoIncrementTest(fixtures.TestBase):

Callers

nothing calls this directly

Calls 9

eq_Function · 0.90
executeMethod · 0.45
insertMethod · 0.45
assert_Method · 0.45
addMethod · 0.45
valuesMethod · 0.45
lengthMethod · 0.45
order_byMethod · 0.45
selectMethod · 0.45

Tested by

no test coverage detected