mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Refs #12118 -- Allowed "mode=memory" in SQLite test database names.
This commit is contained in:
parent
6afa6818fc
commit
3543fec3b7
3 changed files with 32 additions and 3 deletions
|
@ -142,6 +142,30 @@ class SQLiteTests(TestCase):
|
|||
models.Item.objects.all().aggregate,
|
||||
**{'complex': aggregate('last_modified') + aggregate('last_modified')})
|
||||
|
||||
def test_memory_db_test_name(self):
|
||||
"""
|
||||
A named in-memory db should be allowed where supported.
|
||||
"""
|
||||
from django.db.backends.sqlite3.base import DatabaseWrapper
|
||||
settings_dict = {
|
||||
'TEST': {
|
||||
'NAME': 'file:memorydb_test?mode=memory&cache=shared',
|
||||
}
|
||||
}
|
||||
wrapper = DatabaseWrapper(settings_dict)
|
||||
creation = wrapper.creation
|
||||
if creation.connection.features.can_share_in_memory_db:
|
||||
expected = creation.connection.settings_dict['TEST']['NAME']
|
||||
self.assertEqual(creation._get_test_db_name(), expected)
|
||||
else:
|
||||
msg = (
|
||||
"Using a shared memory database with `mode=memory` in the "
|
||||
"database name is not supported in your environment, "
|
||||
"use `:memory:` instead."
|
||||
)
|
||||
with self.assertRaisesMessage(ImproperlyConfigured, msg):
|
||||
creation._get_test_db_name()
|
||||
|
||||
|
||||
@unittest.skipUnless(connection.vendor == 'postgresql', "Test only for PostgreSQL")
|
||||
class PostgreSQLTests(TestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue