Skip to content

Commit f69a5ee

Browse files
committed
Spanner: invalid type test
1 parent f4bdb33 commit f69a5ee

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

‎spanner/tests/system/test_system.py‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,31 @@ def test_execute_sql_returning_array_of_struct(self):
10521052
[[['a', 1], ['b', 2]]],
10531053
])
10541054

1055+
def test_invalid_type(self):
1056+
table = 'counters'
1057+
columns = ('name', 'value')
1058+
session = self._db.session()
1059+
session.create()
1060+
self.to_delete.append(session)
1061+
1062+
valid_input = (('', 0),)
1063+
with session.batch() as batch:
1064+
batch.delete(table, self.ALL)
1065+
batch.insert(table, columns, valid_input)
1066+
1067+
invalid_input = ((0, ''),)
1068+
with self.assertRaises(errors.RetryError) as exc_info:
1069+
with session.batch() as batch:
1070+
batch.delete(table, self.ALL)
1071+
batch.insert(table, columns, invalid_input)
1072+
1073+
cause = exc_info.exception.cause
1074+
self.assertEqual(cause.code(), StatusCode.FAILED_PRECONDITION)
1075+
error_msg = (
1076+
'Invalid value for column value in table '
1077+
'counters: Expected INT64.')
1078+
self.assertEqual(cause.details(), error_msg)
1079+
10551080
def test_execute_sql_w_query_param(self):
10561081
session = self._db.session()
10571082
session.create()

0 commit comments

Comments
 (0)