mirror of
				https://github.com/django/django.git
				synced 2025-10-26 07:06:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.db import connection
 | |
| 
 | |
| from . import PostgreSQLTestCase
 | |
| 
 | |
| try:
 | |
|     from django.contrib.postgres.signals import (
 | |
|         get_citext_oids, get_hstore_oids, register_type_handlers,
 | |
|     )
 | |
| 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):
 | |
|         get_hstore_oids(connection.alias)
 | |
|         with self.assertNumQueries(0):
 | |
|             get_hstore_oids(connection.alias)
 | |
| 
 | |
|     def test_citext_cache(self):
 | |
|         get_citext_oids(connection.alias)
 | |
|         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)
 | |
| 
 | |
|     def test_register_type_handlers_no_db(self):
 | |
|         """Registering type handlers for the nodb connection does nothing."""
 | |
|         register_type_handlers(connection._nodb_connection)
 |