Commit 4e32ab68 by benjaoming

Add test suite that supports settings.AUTH_USER_MODEL and testing of South migrations #145

parent 670c4d24
import sys
from django.conf import settings
settings.configure(
DEBUG=True,
AUTH_USER_MODEL='testdata.CustomUser',
DATABASES={
'default': {
'ENGINE': 'django.db.backends.sqlite3',
}
},
SITE_ID=1,
ROOT_URLCONF='wiki.tests.testdata.urls',
INSTALLED_APPS=(
'wiki.tests.testdata',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.humanize',
'django.contrib.sites',
#'south',
'django_notify',
'mptt',
'sekizai',
'sorl.thumbnail',
'wiki',
'wiki.plugins.attachments',
'wiki.plugins.notifications',
'wiki.plugins.images',
'wiki.plugins.macros',
),
TEMPLATE_CONTEXT_PROCESSORS=(
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"sekizai.context_processors.sekizai",
),
USE_TZ=True,
)
from django.test.simple import DjangoTestSuiteRunner
test_runner = DjangoTestSuiteRunner(verbosity=1)
# If you use South for migrations, uncomment this to monkeypatch
# syncdb to get migrations to run.
#from south.management.commands import patch_for_test_db_setup
#patch_for_test_db_setup()
failures = test_runner.run_tests(['wiki', ])
if failures:
sys.exit(failures)
\ No newline at end of file
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.test import TestCase from django.test import TestCase
from django.test.client import Client from django.test.client import Client
from wiki.models import Article, ArticleRevision, URLPath from wiki.models import Article, ArticleRevision, URLPath
import pprint import pprint
import re
class InitialWebClientTest(TestCase): class InitialWebClientTest(TestCase):
"""Tests by the dummy web client, with manual creating the root article.""" """Tests by the dummy web client, with manual creating the root article."""
def setUp(self): def setUp(self):
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
User.objects.create_superuser('admin', 'nobody@example.com', 'secret') User.objects.create_superuser('admin', 'nobody@example.com', 'secret')
self.c = c = Client() self.c = c = Client()
c.login(username='admin', password='secret') c.login(username='admin', password='secret')
...@@ -29,6 +33,11 @@ class InitialWebClientTest(TestCase): ...@@ -29,6 +33,11 @@ class InitialWebClientTest(TestCase):
class WebClientTest(TestCase): class WebClientTest(TestCase):
"""Tests by the dummy web client.""" """Tests by the dummy web client."""
def setUp(self): def setUp(self):
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
User.objects.create_superuser('admin', 'nobody@example.com', 'secret') User.objects.create_superuser('admin', 'nobody@example.com', 'secret')
self.c = c = Client() self.c = c = Client()
c.login(username='admin', password='secret') c.login(username='admin', password='secret')
......
from django.db import models
try:
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
some_field = models.IntegerField(default=0)
except ImportError:
pass
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)
from wiki.urls import get_pattern as get_wiki_pattern
from django_notify.urls import get_pattern as get_notify_pattern
urlpatterns += patterns('',
(r'^notify/', get_notify_pattern()),
(r'', get_wiki_pattern())
)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment