summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/south/tests/autodetection.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/south/tests/autodetection.py')
-rw-r--r--lib/python2.7/site-packages/south/tests/autodetection.py360
1 files changed, 0 insertions, 360 deletions
diff --git a/lib/python2.7/site-packages/south/tests/autodetection.py b/lib/python2.7/site-packages/south/tests/autodetection.py
deleted file mode 100644
index c320d3a..0000000
--- a/lib/python2.7/site-packages/south/tests/autodetection.py
+++ /dev/null
@@ -1,360 +0,0 @@
-from south.tests import unittest
-
-from south.creator.changes import AutoChanges, InitialChanges
-from south.migration.base import Migrations
-from south.tests import Monkeypatcher
-from south.creator import freezer
-from south.orm import FakeORM
-from south.v2 import SchemaMigration
-
-try:
- from django.utils.six.moves import reload_module
-except ImportError:
- # Older django, no python3 support
- reload_module = reload
-
-class TestComparison(unittest.TestCase):
-
- """
- Tests the comparison methods of startmigration.
- """
-
- def test_no_change(self):
- "Test with a completely unchanged definition."
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['southdemo.Lizard']"}),
- ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['southdemo.Lizard']"}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.related.ForeignKey', ['ohhai', 'there'], {'to': "somewhere", "from": "there"}),
- ('django.db.models.fields.related.ForeignKey', ['ohhai', 'there'], {"from": "there", 'to': "somewhere"}),
- ),
- False,
- )
-
-
- def test_pos_change(self):
- "Test with a changed positional argument."
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['hi'], {'to': "foo"}),
- ('django.db.models.fields.CharField', [], {'to': "foo"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', [], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['bye'], {'to': "foo"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['pi'], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['pi'], {'to': "foo"}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['pisdadad'], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['pi'], {'to': "foo"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['hi'], {}),
- ('django.db.models.fields.CharField', [], {}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', [], {}),
- ('django.db.models.fields.CharField', ['bye'], {}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['pi'], {}),
- ('django.db.models.fields.CharField', ['pi'], {}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['pi'], {}),
- ('django.db.models.fields.CharField', ['45fdfdf'], {}),
- ),
- True,
- )
-
-
- def test_kwd_change(self):
- "Test a changed keyword argument"
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['pi'], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['pi'], {'to': "blue"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', [], {'to': "foo"}),
- ('django.db.models.fields.CharField', [], {'to': "blue"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['b'], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['b'], {'to': "blue"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', [], {'to': "foo"}),
- ('django.db.models.fields.CharField', [], {}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['a'], {'to': "foo"}),
- ('django.db.models.fields.CharField', ['a'], {}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', [], {}),
- ('django.db.models.fields.CharField', [], {'to': "foo"}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('django.db.models.fields.CharField', ['a'], {}),
- ('django.db.models.fields.CharField', ['a'], {'to': "foo"}),
- ),
- True,
- )
-
-
-
- def test_backcompat_nochange(self):
- "Test that the backwards-compatable comparison is working"
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', [], {}),
- ('django.db.models.fields.CharField', [], {}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['ack'], {}),
- ('django.db.models.fields.CharField', ['ack'], {}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', [], {'to':'b'}),
- ('django.db.models.fields.CharField', [], {'to':'b'}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {'to':'you'}),
- ('django.db.models.fields.CharField', ['hah'], {'to':'you'}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {'to':'you'}),
- ('django.db.models.fields.CharField', ['hah'], {'to':'heh'}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {}),
- ('django.db.models.fields.CharField', [], {'to':"orm['appname.hah']"}),
- ),
- False,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {}),
- ('django.db.models.fields.CharField', [], {'to':'hah'}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {}),
- ('django.db.models.fields.CharField', [], {'to':'rrr'}),
- ),
- True,
- )
-
- self.assertEqual(
- AutoChanges.different_attributes(
- ('models.CharField', ['hah'], {}),
- ('django.db.models.fields.IntField', [], {'to':'hah'}),
- ),
- True,
- )
-
-class TestNonManagedIgnored(Monkeypatcher):
-
- installed_apps = ["non_managed"]
-
- full_defs = {
- 'non_managed.legacy': {
- 'Meta': {'object_name': 'Legacy', 'db_table': "'legacy_table'", 'managed': 'False'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True'}),
- 'size': ('django.db.models.fields.IntegerField', [], {})
- }
- }
-
- def test_not_added_init(self):
-
- migrations = Migrations("non_managed")
- changes = InitialChanges(migrations)
- change_list = changes.get_changes()
- if list(change_list):
- self.fail("Initial migration creates table for non-managed model")
-
- def test_not_added_auto(self):
-
- empty_defs = { }
- class EmptyMigration(SchemaMigration):
- "Serves as fake previous migration"
-
- def forwards(self, orm):
- pass
-
- def backwards(self, orm):
- pass
-
- models = empty_defs
-
- complete_apps = ['non_managed']
-
- migrations = Migrations("non_managed")
- empty_orm = FakeORM(EmptyMigration, "non_managed")
- changes = AutoChanges(
- migrations = migrations,
- old_defs = empty_defs,
- old_orm = empty_orm,
- new_defs = self.full_defs,
- )
- change_list = changes.get_changes()
- if list(change_list):
- self.fail("Auto migration creates table for non-managed model")
-
- def test_not_deleted_auto(self):
-
- empty_defs = { }
- old_defs = freezer.freeze_apps(["non_managed"])
- class InitialMigration(SchemaMigration):
- "Serves as fake previous migration"
-
- def forwards(self, orm):
- pass
-
- def backwards(self, orm):
- pass
-
- models = self.full_defs
-
- complete_apps = ['non_managed']
-
- migrations = Migrations("non_managed")
- initial_orm = FakeORM(InitialMigration, "non_managed")
- changes = AutoChanges(
- migrations = migrations,
- old_defs = self.full_defs,
- old_orm = initial_orm,
- new_defs = empty_defs,
- )
- change_list = changes.get_changes()
- if list(change_list):
- self.fail("Auto migration deletes table for non-managed model")
-
- def test_not_modified_auto(self):
-
- fake_defs = {
- 'non_managed.legacy': {
- 'Meta': {'object_name': 'Legacy', 'db_table': "'legacy_table'", 'managed': 'False'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True'}),
- #'size': ('django.db.models.fields.IntegerField', [], {}) # The "change" is the addition of this field
- }
- }
- class InitialMigration(SchemaMigration):
- "Serves as fake previous migration"
-
- def forwards(self, orm):
- pass
-
- def backwards(self, orm):
- pass
-
- models = fake_defs
-
- complete_apps = ['non_managed']
-
- from non_managed import models as dummy_import_to_force_loading_models # TODO: Does needing this indicate a bug in MokeyPatcher?
- reload_module(dummy_import_to_force_loading_models) # really force...
-
- migrations = Migrations("non_managed")
- initial_orm = FakeORM(InitialMigration, "non_managed")
- changes = AutoChanges(
- migrations = migrations,
- old_defs = fake_defs,
- old_orm = initial_orm,
- new_defs = self.full_defs
- )
- change_list = changes.get_changes()
- if list(change_list):
- self.fail("Auto migration changes table for non-managed model")