summaryrefslogtreecommitdiff
path: root/tests/fixtures
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fixtures')
-rw-r--r--tests/fixtures/models.py6
-rw-r--r--tests/fixtures/tests.py16
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/fixtures/models.py b/tests/fixtures/models.py
index bfad34c1da..78161c8474 100644
--- a/tests/fixtures/models.py
+++ b/tests/fixtures/models.py
@@ -8,6 +8,8 @@ in the application directory, or in one of the directories named in the
``FIXTURE_DIRS`` setting.
"""
+import uuid
+
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
@@ -118,3 +120,7 @@ class Book(models.Model):
class Meta:
ordering = ('name',)
+
+
+class PrimaryKeyUUIDModel(models.Model):
+ id = models.UUIDField(primary_key=True, default=uuid.uuid4)
diff --git a/tests/fixtures/tests.py b/tests/fixtures/tests.py
index 95240652f3..5bff638774 100644
--- a/tests/fixtures/tests.py
+++ b/tests/fixtures/tests.py
@@ -20,7 +20,9 @@ from django.test import (
from django.utils import six
from django.utils.encoding import force_text
-from .models import Article, Category, ProxySpy, Spy, Tag, Visa
+from .models import (
+ Article, Category, PrimaryKeyUUIDModel, ProxySpy, Spy, Tag, Visa,
+)
class TestCaseFixtureLoadingTests(TestCase):
@@ -442,6 +444,18 @@ class FixtureLoadingTests(DumpDataAssertMixin, TestCase):
primary_keys='2,3'
)
+ def test_dumpdata_with_uuid_pks(self):
+ m1 = PrimaryKeyUUIDModel.objects.create()
+ m2 = PrimaryKeyUUIDModel.objects.create()
+ output = six.StringIO()
+ management.call_command(
+ 'dumpdata', 'fixtures.PrimaryKeyUUIDModel', '--pks', ', '.join([str(m1.id), str(m2.id)]),
+ stdout=output,
+ )
+ result = output.getvalue()
+ self.assertIn('"pk": "%s"' % m1.id, result)
+ self.assertIn('"pk": "%s"' % m2.id, result)
+
def test_dumpdata_with_file_output(self):
management.call_command('loaddata', 'fixture1.json', verbosity=0)
self._dumpdata_assert(