summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2010-10-15 07:34:23 +0000
committerAlex Gaynor <alex.gaynor@gmail.com>2010-10-15 07:34:23 +0000
commitc20f2f2ac90b23b8b072a589c229fbbc50f0da77 (patch)
tree1e127081b7647a222ee2c9eff8233c13f70d1680
parent056659c1cf77d7760db955057c9bf1d9a7e7b20d (diff)
Fixed #14473 -- converted the model_package tests from doctests to unitests. We have always been at war with doctests. Thanks to Gabriel Hurley for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14227 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--tests/modeltests/model_package/tests.py119
1 files changed, 55 insertions, 64 deletions
diff --git a/tests/modeltests/model_package/tests.py b/tests/modeltests/model_package/tests.py
index 99970faba1..e63e2e63ea 100644
--- a/tests/modeltests/model_package/tests.py
+++ b/tests/modeltests/model_package/tests.py
@@ -1,81 +1,72 @@
+from django.contrib.sites.models import Site
from django.db import models
+from django.test import TestCase
+
+from models.publication import Publication
+from models.article import Article
+
class Advertisment(models.Model):
customer = models.CharField(max_length=100)
- publications = models.ManyToManyField("model_package.Publication", null=True, blank=True)
+ publications = models.ManyToManyField(
+ "model_package.Publication", null=True, blank=True
+ )
class Meta:
app_label = 'model_package'
-__test__ = {'API_TESTS': """
->>> from models.publication import Publication
->>> from models.article import Article
-
->>> p = Publication(title="FooBar")
->>> p.save()
->>> p
-<Publication: Publication object>
-
->>> from django.contrib.sites.models import Site
->>> current_site = Site.objects.get_current()
->>> current_site
-<Site: example.com>
-
-# Regression for #12168: models split into subpackages still get M2M tables
-
->>> a = Article(headline="a foo headline")
->>> a.save()
->>> a.publications.add(p)
->>> a.sites.add(current_site)
-
->>> a = Article.objects.get(id=1)
->>> a
-<Article: Article object>
->>> a.id
-1
->>> a.sites.count()
-1
-
-# Regression for #12245 - Models can exist in the test package, too
-
->>> ad = Advertisment(customer="Lawrence Journal-World")
->>> ad.save()
->>> ad.publications.add(p)
-
->>> ad = Advertisment.objects.get(id=1)
->>> ad
-<Advertisment: Advertisment object>
-
->>> ad.publications.count()
-1
-
-# Regression for #12386 - field names on the autogenerated intermediate class
-# that are specified as dotted strings don't retain any path component for the
-# field or column name
-
->>> Article.publications.through._meta.fields[1].name
-'article'
->>> Article.publications.through._meta.fields[1].get_attname_column()
-('article_id', 'article_id')
+class ModelPackageTests(TestCase):
+ def test_model_packages(self):
+ p = Publication.objects.create(title="FooBar")
->>> Article.publications.through._meta.fields[2].name
-'publication'
+ current_site = Site.objects.get_current()
+ self.assertEqual(current_site.domain, "example.com")
->>> Article.publications.through._meta.fields[2].get_attname_column()
-('publication_id', 'publication_id')
+ # Regression for #12168: models split into subpackages still get M2M
+ # tables
+ a = Article.objects.create(headline="a foo headline")
+ a.publications.add(p)
+ a.sites.add(current_site)
-# The oracle backend truncates the name to 'model_package_article_publ233f'.
->>> Article._meta.get_field('publications').m2m_db_table() \\
-... in ('model_package_article_publications', 'model_package_article_publ233f')
-True
+ a = Article.objects.get(id=a.pk)
+ self.assertEqual(a.id, a.pk)
+ self.assertEqual(a.sites.count(), 1)
->>> Article._meta.get_field('publications').m2m_column_name()
-'article_id'
+ # Regression for #12245 - Models can exist in the test package, too
+ ad = Advertisment.objects.create(customer="Lawrence Journal-World")
+ ad.publications.add(p)
->>> Article._meta.get_field('publications').m2m_reverse_name()
-'publication_id'
+ ad = Advertisment.objects.get(id=ad.pk)
+ self.assertEqual(ad.publications.count(), 1)
-"""}
+ # Regression for #12386 - field names on the autogenerated intermediate
+ # class that are specified as dotted strings don't retain any path
+ # component for the field or column name
+ self.assertEqual(
+ Article.publications.through._meta.fields[1].name, 'article'
+ )
+ self.assertEqual(
+ Article.publications.through._meta.fields[1].get_attname_column(),
+ ('article_id', 'article_id')
+ )
+ self.assertEqual(
+ Article.publications.through._meta.fields[2].name, 'publication'
+ )
+ self.assertEqual(
+ Article.publications.through._meta.fields[2].get_attname_column(),
+ ('publication_id', 'publication_id')
+ )
+ # The oracle backend truncates the name to 'model_package_article_publ233f'.
+ self.assertTrue(
+ Article._meta.get_field('publications').m2m_db_table() in ('model_package_article_publications', 'model_package_article_publ233f')
+ )
+ self.assertEqual(
+ Article._meta.get_field('publications').m2m_column_name(), 'article_id'
+ )
+ self.assertEqual(
+ Article._meta.get_field('publications').m2m_reverse_name(),
+ 'publication_id'
+ )