From 86a18dc46aae3a4a6410e3f3d864fa0ec4e5b2cd Mon Sep 17 00:00:00 2001 From: Igor Gumenyuk Date: Fri, 15 Sep 2017 17:00:12 +0300 Subject: Fixed #28334 -- Added caching for hstore/citext OIDs. --- tests/postgres_tests/test_signals.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 tests/postgres_tests/test_signals.py (limited to 'tests/postgres_tests/test_signals.py') diff --git a/tests/postgres_tests/test_signals.py b/tests/postgres_tests/test_signals.py new file mode 100644 index 0000000000..a7112f014c --- /dev/null +++ b/tests/postgres_tests/test_signals.py @@ -0,0 +1,33 @@ +from django.db import connection + +from . import PostgreSQLTestCase + +try: + from django.contrib.postgres.signals import get_hstore_oids, get_citext_oids +except ImportError: + pass # pyscogp2 isn't installed. + + +class OIDTests(PostgreSQLTestCase): + + def assertOIDs(self, oids): + self.assertIsInstance(oids, tuple) + self.assertGreater(len(oids), 0) + self.assertTrue(all(isinstance(oid, int) for oid in oids)) + + def test_hstore_cache(self): + with self.assertNumQueries(0): + get_hstore_oids(connection.alias) + + def test_citext_cache(self): + with self.assertNumQueries(0): + get_citext_oids(connection.alias) + + def test_hstore_values(self): + oids, array_oids = get_hstore_oids(connection.alias) + self.assertOIDs(oids) + self.assertOIDs(array_oids) + + def test_citext_values(self): + oids = get_citext_oids(connection.alias) + self.assertOIDs(oids) -- cgit v1.3