Merge pull request #325 from kishkaru/python-207_tests
[PYTHON-207] Test for automatic repreparation error
This commit is contained in:
@@ -325,3 +325,31 @@ class PreparedStatementTests(unittest.TestCase):
|
||||
self.assertEqual(results[0].v, None)
|
||||
|
||||
cluster.shutdown()
|
||||
|
||||
def test_raise_error_on_prepared_statement_execution_dropped_table(self):
|
||||
"""
|
||||
test for error in executing prepared statement on a dropped table
|
||||
|
||||
test_raise_error_on_execute_prepared_statement_dropped_table tests that an InvalidRequest is raised when a
|
||||
prepared statement is executed after its corresponding table is dropped. This happens because if a prepared
|
||||
statement is invalid, the driver attempts to automatically re-prepare it on a non-existing table.
|
||||
|
||||
@expected_errors InvalidRequest If a prepared statement is executed on a dropped table
|
||||
|
||||
@since 2.6.0
|
||||
@jira_ticket PYTHON-207
|
||||
@expected_result InvalidRequest error should be raised upon prepared statement execution.
|
||||
|
||||
@test_category prepared_statements
|
||||
"""
|
||||
cluster = Cluster(protocol_version=PROTOCOL_VERSION)
|
||||
session = cluster.connect("test3rf")
|
||||
|
||||
session.execute("CREATE TABLE error_test (k int PRIMARY KEY, v int)")
|
||||
prepared = session.prepare("SELECT * FROM error_test WHERE k=?")
|
||||
session.execute("DROP TABLE error_test")
|
||||
|
||||
with self.assertRaises(InvalidRequest):
|
||||
session.execute(prepared, [0])
|
||||
|
||||
cluster.shutdown()
|
||||
Reference in New Issue
Block a user