summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
authorDavid Sanders <shang.xiao.sanders@gmail.com>2024-02-08 19:57:14 +1100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-02-09 09:37:13 +0100
commit06264258dc7c7cc69b2ba5f70f782988ccb2b06c (patch)
treec9d7de1b02e85888bbaf194a673567a1eabc15c1 /tests/postgres_tests
parent8b7ddd1b621e1396cf87c08faf11937732f09dcd (diff)
Fixed #35175 -- Made migraton writer preserve keyword-only arguments.
Thanks Gerald Goh for the report.
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_operations.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_operations.py b/tests/postgres_tests/test_operations.py
index ff344e3cb0..bc2ae42096 100644
--- a/tests/postgres_tests/test_operations.py
+++ b/tests/postgres_tests/test_operations.py
@@ -4,6 +4,7 @@ from migrations.test_base import OperationTestBase
from django.db import IntegrityError, NotSupportedError, connection, transaction
from django.db.migrations.state import ProjectState
+from django.db.migrations.writer import OperationWriter
from django.db.models import CheckConstraint, Index, Q, UniqueConstraint
from django.db.utils import ProgrammingError
from django.test import modify_settings, override_settings
@@ -393,6 +394,25 @@ class CreateCollationTests(PostgreSQLTestCase):
self.assertEqual(len(captured_queries), 1)
self.assertIn("DROP COLLATION", captured_queries[0]["sql"])
+ def test_writer(self):
+ operation = CreateCollation(
+ "sample_collation",
+ "und-u-ks-level2",
+ provider="icu",
+ deterministic=False,
+ )
+ buff, imports = OperationWriter(operation, indentation=0).serialize()
+ self.assertEqual(imports, {"import django.contrib.postgres.operations"})
+ self.assertEqual(
+ buff,
+ "django.contrib.postgres.operations.CreateCollation(\n"
+ " name='sample_collation',\n"
+ " locale='und-u-ks-level2',\n"
+ " provider='icu',\n"
+ " deterministic=False,\n"
+ "),",
+ )
+
@unittest.skipUnless(connection.vendor == "postgresql", "PostgreSQL specific tests.")
class RemoveCollationTests(PostgreSQLTestCase):