MCPcopy Index your code
hub / github.com/PyMySQL/mysqlclient / test_truncation

Method test_truncation

tests/capabilities.py:143–198  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

141 self.cursor.execute("drop table %s" % (self.table))
142
143 def test_truncation(self):
144 columndefs = ("col1 INT", "col2 VARCHAR(255)")
145
146 def generator(row, col):
147 if col == 0:
148 return row
149 else:
150 return ("%i" % (row % 10)) * ((255 - self.rows // 2) + row)
151
152 self.create_table(columndefs)
153 insert_statement = "INSERT INTO {} VALUES ({})".format(
154 self.table,
155 ",".join(["%s"] * len(columndefs)),
156 )
157
158 try:
159 self.cursor.execute(insert_statement, (0, "0" * 256))
160 except self.connection.DataError:
161 pass
162 else:
163 self.fail(
164 "Over-long column did not generate warnings/exception with single insert" # noqa: E501
165 )
166
167 self.connection.rollback()
168
169 try:
170 for i in range(self.rows):
171 data = []
172 for j in range(len(columndefs)):
173 data.append(generator(i, j))
174 self.cursor.execute(insert_statement, tuple(data))
175 except self.connection.DataError:
176 pass
177 else:
178 self.fail(
179 "Over-long columns did not generate warnings/exception with execute()" # noqa: E501
180 )
181
182 self.connection.rollback()
183
184 try:
185 data = [
186 [generator(i, j) for j in range(len(columndefs))]
187 for i in range(self.rows)
188 ]
189 self.cursor.executemany(insert_statement, data)
190 except self.connection.DataError:
191 pass
192 else:
193 self.fail(
194 "Over-long columns did not generate warnings/exception with executemany()" # noqa: E501
195 )
196
197 self.connection.rollback()
198 self.cursor.execute("drop table %s" % (self.table))
199
200 def test_CHAR(self):

Callers

nothing calls this directly

Calls 3

create_tableMethod · 0.95
executeMethod · 0.80
executemanyMethod · 0.80

Tested by

no test coverage detected