summaryrefslogtreecommitdiff
path: root/tests/modeltests/force_insert_update/tests.py
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2013-02-26 09:53:47 +0100
committerFlorian Apolloner <florian@apolloner.eu>2013-02-26 14:36:57 +0100
commit89f40e36246100df6a11316c31a76712ebc6c501 (patch)
tree6e65639683ddaf2027908d1ecb1739e0e2ff853b /tests/modeltests/force_insert_update/tests.py
parentb3d2ccb5bfbaf6e7fe1f98843baaa48c35a70950 (diff)
Merged regressiontests and modeltests into the test root.
Diffstat (limited to 'tests/modeltests/force_insert_update/tests.py')
-rw-r--r--tests/modeltests/force_insert_update/tests.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/tests/modeltests/force_insert_update/tests.py b/tests/modeltests/force_insert_update/tests.py
deleted file mode 100644
index a5b2dcebb5..0000000000
--- a/tests/modeltests/force_insert_update/tests.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from __future__ import absolute_import
-
-from django.db import transaction, IntegrityError, DatabaseError
-from django.test import TestCase
-
-from .models import (Counter, WithCustomPK, InheritedCounter, ProxyCounter,
- SubCounter)
-
-
-class ForceTests(TestCase):
- def test_force_update(self):
- c = Counter.objects.create(name="one", value=1)
-
- # The normal case
- c.value = 2
- c.save()
- # Same thing, via an update
- c.value = 3
- c.save(force_update=True)
-
- # Won't work because force_update and force_insert are mutually
- # exclusive
- c.value = 4
- self.assertRaises(ValueError, c.save, force_insert=True, force_update=True)
-
- # Try to update something that doesn't have a primary key in the first
- # place.
- c1 = Counter(name="two", value=2)
- self.assertRaises(ValueError, c1.save, force_update=True)
- c1.save(force_insert=True)
-
- # Won't work because we can't insert a pk of the same value.
- sid = transaction.savepoint()
- c.value = 5
- self.assertRaises(IntegrityError, c.save, force_insert=True)
- transaction.savepoint_rollback(sid)
-
- # Trying to update should still fail, even with manual primary keys, if
- # the data isn't in the database already.
- obj = WithCustomPK(name=1, value=1)
- self.assertRaises(DatabaseError, obj.save, force_update=True)
-
-
-class InheritanceTests(TestCase):
- def test_force_update_on_inherited_model(self):
- a = InheritedCounter(name="count", value=1, tag="spam")
- a.save()
- a.save(force_update=True)
-
- def test_force_update_on_proxy_model(self):
- a = ProxyCounter(name="count", value=1)
- a.save()
- a.save(force_update=True)
-
- def test_force_update_on_inherited_model_without_fields(self):
- '''
- Issue 13864: force_update fails on subclassed models, if they don't
- specify custom fields.
- '''
- a = SubCounter(name="count", value=1)
- a.save()
- a.value = 2
- a.save(force_update=True)