Skip to content

Commit

Permalink
pythongh-71339: Use new assertion methods in test_sqlite3 (pythonGH-1…
Browse files Browse the repository at this point in the history
  • Loading branch information
serhiy-storchaka authored Jan 14, 2025
1 parent ff3e145 commit 75bd42c
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 33 deletions.
16 changes: 8 additions & 8 deletions Lib/test/test_sqlite3/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,22 +90,22 @@ def test_interact(self):
out, err = self.run_cli()
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 1)
self.assertEqual(out.count(self.PS2), 0)

def test_interact_quit(self):
out, err = self.run_cli(commands=(".quit",))
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 1)
self.assertEqual(out.count(self.PS2), 0)

def test_interact_version(self):
out, err = self.run_cli(commands=(".version",))
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertIn(sqlite3.sqlite_version + "\n", out)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 2)
self.assertEqual(out.count(self.PS2), 0)
self.assertIn(sqlite3.sqlite_version, out)
Expand All @@ -114,14 +114,14 @@ def test_interact_valid_sql(self):
out, err = self.run_cli(commands=("SELECT 1;",))
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertIn("(1,)\n", out)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 2)
self.assertEqual(out.count(self.PS2), 0)

def test_interact_incomplete_multiline_sql(self):
out, err = self.run_cli(commands=("SELECT 1",))
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertTrue(out.endswith(self.PS2))
self.assertEndsWith(out, self.PS2)
self.assertEqual(out.count(self.PS1), 1)
self.assertEqual(out.count(self.PS2), 1)

Expand All @@ -130,15 +130,15 @@ def test_interact_valid_multiline_sql(self):
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertIn(self.PS2, out)
self.assertIn("(1,)\n", out)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 2)
self.assertEqual(out.count(self.PS2), 1)

def test_interact_invalid_sql(self):
out, err = self.run_cli(commands=("sel;",))
self.assertIn(self.MEMORY_DB_MSG, err)
self.assertIn("OperationalError (SQLITE_ERROR)", err)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)
self.assertEqual(out.count(self.PS1), 2)
self.assertEqual(out.count(self.PS2), 0)

Expand All @@ -147,7 +147,7 @@ def test_interact_on_disk_file(self):

out, err = self.run_cli(TESTFN, commands=("CREATE TABLE t(t);",))
self.assertIn(TESTFN, err)
self.assertTrue(out.endswith(self.PS1))
self.assertEndsWith(out, self.PS1)

out, _ = self.run_cli(TESTFN, commands=("SELECT count(t) FROM t;",))
self.assertIn("(0,)\n", out)
Expand Down
37 changes: 13 additions & 24 deletions Lib/test/test_sqlite3/test_dbapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,45 +59,34 @@ def test_param_style(self):
sqlite.paramstyle)

def test_warning(self):
self.assertTrue(issubclass(sqlite.Warning, Exception),
"Warning is not a subclass of Exception")
self.assertIsSubclass(sqlite.Warning, Exception)

def test_error(self):
self.assertTrue(issubclass(sqlite.Error, Exception),
"Error is not a subclass of Exception")
self.assertIsSubclass(sqlite.Error, Exception)

def test_interface_error(self):
self.assertTrue(issubclass(sqlite.InterfaceError, sqlite.Error),
"InterfaceError is not a subclass of Error")
self.assertIsSubclass(sqlite.InterfaceError, sqlite.Error)

def test_database_error(self):
self.assertTrue(issubclass(sqlite.DatabaseError, sqlite.Error),
"DatabaseError is not a subclass of Error")
self.assertIsSubclass(sqlite.DatabaseError, sqlite.Error)

def test_data_error(self):
self.assertTrue(issubclass(sqlite.DataError, sqlite.DatabaseError),
"DataError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.DataError, sqlite.DatabaseError)

def test_operational_error(self):
self.assertTrue(issubclass(sqlite.OperationalError, sqlite.DatabaseError),
"OperationalError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.OperationalError, sqlite.DatabaseError)

def test_integrity_error(self):
self.assertTrue(issubclass(sqlite.IntegrityError, sqlite.DatabaseError),
"IntegrityError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.IntegrityError, sqlite.DatabaseError)

def test_internal_error(self):
self.assertTrue(issubclass(sqlite.InternalError, sqlite.DatabaseError),
"InternalError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.InternalError, sqlite.DatabaseError)

def test_programming_error(self):
self.assertTrue(issubclass(sqlite.ProgrammingError, sqlite.DatabaseError),
"ProgrammingError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.ProgrammingError, sqlite.DatabaseError)

def test_not_supported_error(self):
self.assertTrue(issubclass(sqlite.NotSupportedError,
sqlite.DatabaseError),
"NotSupportedError is not a subclass of DatabaseError")
self.assertIsSubclass(sqlite.NotSupportedError, sqlite.DatabaseError)

def test_module_constants(self):
consts = [
Expand Down Expand Up @@ -274,7 +263,7 @@ def test_module_constants(self):
consts.append("SQLITE_IOERR_CORRUPTFS")
for const in consts:
with self.subTest(const=const):
self.assertTrue(hasattr(sqlite, const))
self.assertHasAttr(sqlite, const)

def test_error_code_on_exception(self):
err_msg = "unable to open database file"
Expand All @@ -288,7 +277,7 @@ def test_error_code_on_exception(self):
sqlite.connect(db)
e = cm.exception
self.assertEqual(e.sqlite_errorcode, err_code)
self.assertTrue(e.sqlite_errorname.startswith("SQLITE_CANTOPEN"))
self.assertStartsWith(e.sqlite_errorname, "SQLITE_CANTOPEN")

def test_extended_error_code_on_exception(self):
with memory_database() as con:
Expand Down Expand Up @@ -425,7 +414,7 @@ def test_connection_exceptions(self):
]
for exc in exceptions:
with self.subTest(exc=exc):
self.assertTrue(hasattr(self.cx, exc))
self.assertHasAttr(self.cx, exc)
self.assertIs(getattr(sqlite, exc), getattr(self.cx, exc))

def test_interrupt_on_closed_db(self):
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_sqlite3/test_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ def test_custom(self):
austria = "Österreich"
row = self.con.execute("select ?", (austria,)).fetchone()
self.assertEqual(type(row[0]), str, "type of row[0] must be unicode")
self.assertTrue(row[0].endswith("reich"), "column must contain original data")
self.assertEndsWith(row[0], "reich", "column must contain original data")


class TextFactoryTestsWithEmbeddedZeroBytes(unittest.TestCase):
Expand Down

0 comments on commit 75bd42c

Please sign in to comment.