summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions_case/models.py1
-rw-r--r--tests/expressions_case/tests.py15
-rw-r--r--tests/forms_tests/tests/test_error_messages.py15
-rw-r--r--tests/forms_tests/tests/test_extra.py29
-rw-r--r--tests/inspectdb/models.py1
-rw-r--r--tests/inspectdb/tests.py2
-rw-r--r--tests/invalid_models_tests/test_deprecated_fields.py22
-rw-r--r--tests/migrations/deprecated_field_migrations/0001_initial.py20
-rw-r--r--tests/migrations/deprecated_field_migrations/0002_remove_ipaddressfield_ip.py18
-rw-r--r--tests/migrations/deprecated_field_migrations/__init__.py0
-rw-r--r--tests/migrations/test_deprecated_fields.py22
-rw-r--r--tests/model_fields/models.py20
-rw-r--r--tests/model_fields/tests.py18
-rw-r--r--tests/serializers_regress/models.py8
-rw-r--r--tests/serializers_regress/tests.py7
15 files changed, 100 insertions, 98 deletions
diff --git a/tests/expressions_case/models.py b/tests/expressions_case/models.py
index b1b24e05fa..1a35d544e7 100644
--- a/tests/expressions_case/models.py
+++ b/tests/expressions_case/models.py
@@ -29,7 +29,6 @@ class CaseTestModel(models.Model):
float = models.FloatField(null=True, db_column='float_field')
if Image:
image = models.ImageField(null=True)
- ip_address = models.IPAddressField(null=True)
generic_ip_address = models.GenericIPAddressField(null=True)
null_boolean = models.NullBooleanField()
positive_integer = models.PositiveIntegerField(null=True)
diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py
index 9636930e05..0790b7b080 100644
--- a/tests/expressions_case/tests.py
+++ b/tests/expressions_case/tests.py
@@ -752,21 +752,6 @@ class CaseExpressionTests(TestCase):
transform=lambda o: (o.integer, six.text_type(o.image))
)
- def test_update_ip_address(self):
- CaseTestModel.objects.update(
- ip_address=Case(
- # fails on postgresql if output_field is not set explicitly
- When(integer=1, then=Value('1.1.1.1')),
- When(integer=2, then=Value('2.2.2.2')),
- output_field=models.IPAddressField(),
- ),
- )
- self.assertQuerysetEqual(
- CaseTestModel.objects.all().order_by('pk'),
- [(1, '1.1.1.1'), (2, '2.2.2.2'), (3, None), (2, '2.2.2.2'), (3, None), (3, None), (4, None)],
- transform=attrgetter('integer', 'ip_address')
- )
-
def test_update_generic_ip_address(self):
CaseTestModel.objects.update(
generic_ip_address=Case(
diff --git a/tests/forms_tests/tests/test_error_messages.py b/tests/forms_tests/tests/test_error_messages.py
index 798f11ba1a..5f79d4aa95 100644
--- a/tests/forms_tests/tests/test_error_messages.py
+++ b/tests/forms_tests/tests/test_error_messages.py
@@ -5,12 +5,11 @@ from django.core.files.uploadedfile import SimpleUploadedFile
from django.forms import (
BooleanField, CharField, ChoiceField, DateField, DateTimeField,
DecimalField, EmailField, FileField, FloatField, Form,
- GenericIPAddressField, IntegerField, IPAddressField, ModelChoiceField,
+ GenericIPAddressField, IntegerField, ModelChoiceField,
ModelMultipleChoiceField, MultipleChoiceField, RegexField,
SplitDateTimeField, TimeField, URLField, utils, ValidationError,
)
-from django.test import ignore_warnings, TestCase
-from django.utils.deprecation import RemovedInDjango19Warning
+from django.test import TestCase
from django.utils.safestring import mark_safe
from django.utils.encoding import python_2_unicode_compatible
@@ -197,16 +196,6 @@ class FormsErrorMessagesTestCase(TestCase, AssertFormErrorsMixin):
self.assertFormErrors(['REQUIRED'], f.clean, '')
self.assertFormErrors(['INVALID DATE', 'INVALID TIME'], f.clean, ['a', 'b'])
- @ignore_warnings(category=RemovedInDjango19Warning)
- def test_ipaddressfield(self):
- e = {
- 'required': 'REQUIRED',
- 'invalid': 'INVALID IP ADDRESS',
- }
- f = IPAddressField(error_messages=e)
- self.assertFormErrors(['REQUIRED'], f.clean, '')
- self.assertFormErrors(['INVALID IP ADDRESS'], f.clean, '127.0.0')
-
def test_generic_ipaddressfield(self):
e = {
'required': 'REQUIRED',
diff --git a/tests/forms_tests/tests/test_extra.py b/tests/forms_tests/tests/test_extra.py
index d172e17cd9..5599ec6ccf 100644
--- a/tests/forms_tests/tests/test_extra.py
+++ b/tests/forms_tests/tests/test_extra.py
@@ -5,17 +5,16 @@ import datetime
from django.forms import (
CharField, DateField, EmailField, FileField, Form, GenericIPAddressField,
- HiddenInput, ImageField, IPAddressField, MultipleChoiceField,
- MultiValueField, MultiWidget, PasswordInput, SelectMultiple, SlugField,
- SplitDateTimeField, SplitDateTimeWidget, TextInput, URLField,
+ HiddenInput, ImageField, MultipleChoiceField, MultiValueField, MultiWidget,
+ PasswordInput, SelectMultiple, SlugField, SplitDateTimeField,
+ SplitDateTimeWidget, TextInput, URLField,
)
from django.forms.extras import SelectDateWidget
from django.forms.utils import ErrorList
-from django.test import TestCase, ignore_warnings, override_settings
+from django.test import TestCase, override_settings
from django.utils import six
from django.utils import translation
from django.utils.dates import MONTHS_AP
-from django.utils.deprecation import RemovedInDjango19Warning
from django.utils.encoding import force_text, smart_text, python_2_unicode_compatible
from .test_error_messages import AssertFormErrorsMixin
@@ -483,26 +482,6 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin):
self.assertEqual(f.cleaned_data['field1'], 'some text,JP,2007-04-25 06:24:00')
- @ignore_warnings(category=RemovedInDjango19Warning)
- def test_ipaddress(self):
- f = IPAddressField()
- self.assertFormErrors(['This field is required.'], f.clean, '')
- self.assertFormErrors(['This field is required.'], f.clean, None)
- self.assertEqual(f.clean(' 127.0.0.1'), '127.0.0.1')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, 'foo')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '127.0.0.')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '1.2.3.4.5')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '256.125.1.5')
-
- f = IPAddressField(required=False)
- self.assertEqual(f.clean(''), '')
- self.assertEqual(f.clean(None), '')
- self.assertEqual(f.clean(' 127.0.0.1'), '127.0.0.1')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, 'foo')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '127.0.0.')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '1.2.3.4.5')
- self.assertFormErrors(['Enter a valid IPv4 address.'], f.clean, '256.125.1.5')
-
def test_generic_ipaddress_invalid_arguments(self):
self.assertRaises(ValueError, GenericIPAddressField, protocol="hamster")
self.assertRaises(ValueError, GenericIPAddressField, protocol="ipv4", unpack_ipv4=True)
diff --git a/tests/inspectdb/models.py b/tests/inspectdb/models.py
index 9cc0a196a5..5c968c6f9f 100644
--- a/tests/inspectdb/models.py
+++ b/tests/inspectdb/models.py
@@ -59,7 +59,6 @@ class ColumnTypes(models.Model):
file_path_field = models.FilePathField()
float_field = models.FloatField()
int_field = models.IntegerField()
- ip_address_field = models.IPAddressField()
gen_ip_adress_field = models.GenericIPAddressField(protocol="ipv4")
pos_int_field = models.PositiveIntegerField()
pos_small_int_field = models.PositiveSmallIntegerField()
diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py
index e35fe0bd48..70538b1bdf 100644
--- a/tests/inspectdb/tests.py
+++ b/tests/inspectdb/tests.py
@@ -61,11 +61,9 @@ class InspectDBTestCase(TestCase):
assertFieldType('file_field', "models.CharField(max_length=100)")
assertFieldType('file_path_field', "models.CharField(max_length=100)")
if connection.features.can_introspect_ip_address_field:
- assertFieldType('ip_address_field', "models.GenericIPAddressField()")
assertFieldType('gen_ip_adress_field', "models.GenericIPAddressField()")
elif (connection.features.can_introspect_max_length and
not connection.features.interprets_empty_strings_as_nulls):
- assertFieldType('ip_address_field', "models.CharField(max_length=15)")
assertFieldType('gen_ip_adress_field', "models.CharField(max_length=39)")
if (connection.features.can_introspect_max_length and
not connection.features.interprets_empty_strings_as_nulls):
diff --git a/tests/invalid_models_tests/test_deprecated_fields.py b/tests/invalid_models_tests/test_deprecated_fields.py
new file mode 100644
index 0000000000..feabe58e37
--- /dev/null
+++ b/tests/invalid_models_tests/test_deprecated_fields.py
@@ -0,0 +1,22 @@
+from django.core import checks
+from django.db import models
+
+from .base import IsolatedModelsTestCase
+
+
+class DeprecatedFieldssTests(IsolatedModelsTestCase):
+ def test_IPAddressField_deprecated(self):
+ class IPAddressModel(models.Model):
+ ip = models.IPAddressField()
+
+ model = IPAddressModel()
+ self.assertEqual(
+ model.check(),
+ [checks.Error(
+ 'IPAddressField has been removed except for support in '
+ 'historical migrations.',
+ hint='Use GenericIPAddressField instead.',
+ obj=IPAddressModel._meta.get_field('ip'),
+ id='fields.E900',
+ )],
+ )
diff --git a/tests/migrations/deprecated_field_migrations/0001_initial.py b/tests/migrations/deprecated_field_migrations/0001_initial.py
new file mode 100644
index 0000000000..724f973405
--- /dev/null
+++ b/tests/migrations/deprecated_field_migrations/0001_initial.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='IPAddressField',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('ip', models.IPAddressField(null=True, blank=True)),
+ ],
+ ),
+ ]
diff --git a/tests/migrations/deprecated_field_migrations/0002_remove_ipaddressfield_ip.py b/tests/migrations/deprecated_field_migrations/0002_remove_ipaddressfield_ip.py
new file mode 100644
index 0000000000..12e9739bca
--- /dev/null
+++ b/tests/migrations/deprecated_field_migrations/0002_remove_ipaddressfield_ip.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('migrations', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='ipaddressfield',
+ name='ip',
+ ),
+ ]
diff --git a/tests/migrations/deprecated_field_migrations/__init__.py b/tests/migrations/deprecated_field_migrations/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/migrations/deprecated_field_migrations/__init__.py
diff --git a/tests/migrations/test_deprecated_fields.py b/tests/migrations/test_deprecated_fields.py
new file mode 100644
index 0000000000..2e9808e20b
--- /dev/null
+++ b/tests/migrations/test_deprecated_fields.py
@@ -0,0 +1,22 @@
+from django.core.management import call_command
+from django.test import override_settings
+
+from .test_base import MigrationTestBase
+
+
+class Tests(MigrationTestBase):
+ """
+ Deprecated model fields should still be usable in historic migrations.
+ """
+ @override_settings(MIGRATION_MODULES={"migrations": "migrations.deprecated_field_migrations"})
+ def test_migrate(self):
+ # Make sure no tables are created
+ self.assertTableNotExists("migrations_ipaddressfield")
+ # Run migration
+ call_command("migrate", verbosity=0)
+ # Make sure the right tables exist
+ self.assertTableExists("migrations_ipaddressfield")
+ # Unmigrate everything
+ call_command("migrate", "migrations", "zero", verbosity=0)
+ # Make sure it's all gone
+ self.assertTableNotExists("migrations_ipaddressfield")
diff --git a/tests/model_fields/models.py b/tests/model_fields/models.py
index 2c6b707b88..9a6a3f1f36 100644
--- a/tests/model_fields/models.py
+++ b/tests/model_fields/models.py
@@ -168,16 +168,15 @@ class VerboseNameField(models.Model):
# Don't want to depend on Pillow in this test
#field_image = models.ImageField("verbose field")
field12 = models.IntegerField("verbose field12")
- field13 = models.IPAddressField("verbose field13")
- field14 = models.GenericIPAddressField("verbose field14", protocol="ipv4")
- field15 = models.NullBooleanField("verbose field15")
- field16 = models.PositiveIntegerField("verbose field16")
- field17 = models.PositiveSmallIntegerField("verbose field17")
- field18 = models.SlugField("verbose field18")
- field19 = models.SmallIntegerField("verbose field19")
- field20 = models.TextField("verbose field20")
- field21 = models.TimeField("verbose field21")
- field22 = models.URLField("verbose field22")
+ field13 = models.GenericIPAddressField("verbose field13", protocol="ipv4")
+ field14 = models.NullBooleanField("verbose field14")
+ field15 = models.PositiveIntegerField("verbose field15")
+ field16 = models.PositiveSmallIntegerField("verbose field16")
+ field17 = models.SlugField("verbose field17")
+ field18 = models.SmallIntegerField("verbose field18")
+ field19 = models.TextField("verbose field19")
+ field20 = models.TimeField("verbose field20")
+ field21 = models.URLField("verbose field21")
class GenericIPAddress(models.Model):
@@ -323,7 +322,6 @@ class AllFieldsModel(models.Model):
file_path = models.FilePathField()
floatf = models.FloatField()
integer = models.IntegerField()
- ip_address = models.IPAddressField()
generic_ip = models.GenericIPAddressField()
null_boolean = models.NullBooleanField()
positive_integer = models.PositiveIntegerField()
diff --git a/tests/model_fields/tests.py b/tests/model_fields/tests.py
index a9ce43cae6..60a1f419ed 100644
--- a/tests/model_fields/tests.py
+++ b/tests/model_fields/tests.py
@@ -75,7 +75,7 @@ class BasicFieldTests(test.TestCase):
def test_field_verbose_name(self):
m = VerboseNameField
- for i in range(1, 23):
+ for i in range(1, 22):
self.assertEqual(m._meta.get_field('field%d' % i).verbose_name,
'verbose field%d' % i)
@@ -819,22 +819,6 @@ class PromiseTest(test.TestCase):
IPAddressField().get_prep_value(lazy_func()),
six.text_type)
- def test_IPAddressField_deprecated(self):
- class IPAddressModel(models.Model):
- ip = IPAddressField()
-
- model = IPAddressModel()
- self.assertEqual(
- model.check(),
- [checks.Warning(
- 'IPAddressField has been deprecated. Support for it '
- '(except in historical migrations) will be removed in Django 1.9.',
- hint='Use GenericIPAddressField instead.',
- obj=IPAddressModel._meta.get_field('ip'),
- id='fields.W900',
- )],
- )
-
def test_GenericIPAddressField(self):
lazy_func = lazy(lambda: '127.0.0.1', six.text_type)
self.assertIsInstance(
diff --git a/tests/serializers_regress/models.py b/tests/serializers_regress/models.py
index 49b84501bf..7c7b9f12b0 100644
--- a/tests/serializers_regress/models.py
+++ b/tests/serializers_regress/models.py
@@ -65,10 +65,6 @@ class BigIntegerData(models.Model):
# data = models.ImageField(null=True)
-class IPAddressData(models.Model):
- data = models.IPAddressField(null=True)
-
-
class GenericIPAddressData(models.Model):
data = models.GenericIPAddressField(null=True)
@@ -245,10 +241,6 @@ class IntegerPKData(models.Model):
# data = models.ImageField(primary_key=True)
-class IPAddressPKData(models.Model):
- data = models.IPAddressField(primary_key=True)
-
-
class GenericIPAddressPKData(models.Model):
data = models.GenericIPAddressField(primary_key=True)
diff --git a/tests/serializers_regress/tests.py b/tests/serializers_regress/tests.py
index 375a6a30ac..e91a1094ee 100644
--- a/tests/serializers_regress/tests.py
+++ b/tests/serializers_regress/tests.py
@@ -28,13 +28,13 @@ from django.utils import six
from django.utils.functional import curry
from .models import (BinaryData, BooleanData, CharData, DateData, DateTimeData, EmailData,
- FileData, FilePathData, DecimalData, FloatData, IntegerData, IPAddressData,
+ FileData, FilePathData, DecimalData, FloatData, IntegerData,
GenericIPAddressData, NullBooleanData, PositiveIntegerData,
PositiveSmallIntegerData, SlugData, SmallData, TextData, TimeData,
GenericData, Anchor, UniqueAnchor, FKData, M2MData, O2OData,
FKSelfData, M2MSelfData, FKDataToField, FKDataToO2O, M2MIntermediateData,
Intermediate, BooleanPKData, CharPKData, EmailPKData, FilePathPKData,
- DecimalPKData, FloatPKData, IntegerPKData, IPAddressPKData,
+ DecimalPKData, FloatPKData, IntegerPKData,
GenericIPAddressPKData, PositiveIntegerPKData,
PositiveSmallIntegerPKData, SlugPKData, SmallPKData,
AutoNowDateTimeData, ModifyingSaveData, InheritAbstractModel, BaseModel,
@@ -241,8 +241,6 @@ test_data = [
(data_obj, 82, IntegerData, 0),
(data_obj, 83, IntegerData, None),
#(XX, ImageData
- (data_obj, 90, IPAddressData, "127.0.0.1"),
- (data_obj, 91, IPAddressData, None),
(data_obj, 95, GenericIPAddressData, "fe80:1424:2223:6cff:fe8a:2e8a:2151:abcd"),
(data_obj, 96, GenericIPAddressData, None),
(data_obj, 100, NullBooleanData, True),
@@ -341,7 +339,6 @@ The end."""),
(pk_obj, 681, IntegerPKData, -123456789),
(pk_obj, 682, IntegerPKData, 0),
# (XX, ImagePKData
- (pk_obj, 690, IPAddressPKData, "127.0.0.1"),
(pk_obj, 695, GenericIPAddressPKData, "fe80:1424:2223:6cff:fe8a:2e8a:2151:abcd"),
# (pk_obj, 700, NullBooleanPKData, True),
# (pk_obj, 701, NullBooleanPKData, False),