Reputation: 48402
I am using django-nonrel. When I run manage.py test
over my project which contains only one very simple user defined test I get the following error in the output. Has anyone seen this before? What do I need to do to resolve the issue so that the test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests)
succeeds?
/src/google_appengine/google/appengine/datastore/datastore_stub_util.py:21: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
/src/google_appengine/google/appengine/api/memcache/__init__.py:31: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
import sha
/src/google_appengine/google/appengine/api/datastore_types.py:727: DeprecationWarning: object.__init__() takes no parameters
super(Email, self).__init__(self, email)
............................................s.................F.....................................................................................................
======================================================================
FAIL: test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/src/django/contrib/contenttypes/tests.py", line 66, in test_shortcut_view
self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
AssertionError: 'http://example.com/users/john/' != '/users/john/'
----------------------------------------------------------------------
Ran 164 tests in 9.185s
FAILED (failures=1, skipped=1)
Upvotes: 0
Views: 421
Reputation:
The failure is caused by the unit tests which come with the default django setup.
They expect you to have configured a default site using the admin interface:
e.g. http://localhost:8000/admin/sites/
and to have
SITE_ID = 1
Check that site id is referencing a valid entry
http://localhost:8000/admin/sites/site/1/ where 1 is your site id.
--
Using the sites app is optional, you can remove: 'django.contrib.sites', from your apps list.
Upvotes: 0
Reputation: 3799
Well the answer is in your trace back:
self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
AssertionError: 'http://example.com/users/john/' != '/users/john/'
change the fist line in :
self.assertEqual("/users/john/", response._headers.get("location")[1])
that should fix the test. But if its test code you did not write than I think the problem is in the example.com/ part. The example.com probably comes from your site settings. There is a model called sites if you change it to the correct url this might work.
also
You could try useing diferent django versions. trunk vs stable version behave differently during testing.
Upvotes: 1