Test the documented API of connection.queries.
(self)
| 506 | |
| 507 | @override_settings(DEBUG=True) |
| 508 | def test_queries(self): |
| 509 | """ |
| 510 | Test the documented API of connection.queries. |
| 511 | """ |
| 512 | sql = "SELECT 1" + connection.features.bare_select_suffix |
| 513 | with connection.cursor() as cursor: |
| 514 | reset_queries() |
| 515 | cursor.execute(sql) |
| 516 | self.assertEqual(1, len(connection.queries)) |
| 517 | self.assertIsInstance(connection.queries, list) |
| 518 | self.assertIsInstance(connection.queries[0], dict) |
| 519 | self.assertEqual(list(connection.queries[0]), ["sql", "time"]) |
| 520 | self.assertEqual(connection.queries[0]["sql"], sql) |
| 521 | |
| 522 | reset_queries() |
| 523 | self.assertEqual(0, len(connection.queries)) |
| 524 | |
| 525 | sql = "INSERT INTO %s (%s, %s) VALUES (%%s, %%s)" % ( |
| 526 | connection.introspection.identifier_converter("backends_square"), |
| 527 | connection.ops.quote_name("root"), |
| 528 | connection.ops.quote_name("square"), |
| 529 | ) |
| 530 | with connection.cursor() as cursor: |
| 531 | cursor.executemany(sql, [(1, 1), (2, 4)]) |
| 532 | self.assertEqual(1, len(connection.queries)) |
| 533 | self.assertIsInstance(connection.queries, list) |
| 534 | self.assertIsInstance(connection.queries[0], dict) |
| 535 | self.assertEqual(list(connection.queries[0]), ["sql", "time"]) |
| 536 | self.assertEqual(connection.queries[0]["sql"], "2 times: %s" % sql) |
| 537 | |
| 538 | # Unfortunately with sqlite3 the in-memory test database cannot be closed. |
| 539 | @skipUnlessDBFeature("test_db_allows_multiple_connections") |
nothing calls this directly
no test coverage detected