Search code examples
pythondjangodjango-nonrelunit-testing

Django Framework Test Failing


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)

Solution

  • 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.