﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
21466	override_settings(LOGIN_URL=…) does not work when not first test	Jannis Vajen	nobody	"Overriding `LOGIN_URL` in the tests does not work when another test is run beforehand.

{{{#!python

from django.test import TestCase
from django.test.utils import override_settings
from django.core.urlresolvers import reverse
from django.conf import settings


class OverrideSettingsTest(TestCase):
    def test_a(self):
        """"""
        Toggle this test by commenting it out and see whether test_b() passes.
        """"""
        response = self.client.get(reverse(""harmless-view""))
        self.assertEqual(response.status_code, 301)

    @override_settings(LOGIN_URL=""/THIS_IS_FINE/"")
    def test_b(self):
        # settings appear to be overridden as expected
        self.assertEqual(settings.LOGIN_URL, ""/THIS_IS_FINE/"")
        response = self.client.get(reverse(""redirect-to-login""))

        # The following assertion fails only when test_a() is run.
        self.assertRedirects(response, ""/THIS_IS_FINE/"",
            status_code=301,
            target_status_code=404
        )

    def test_c(self):
        response = self.client.get(reverse(""harmless-view""))
        self.assertEqual(response.status_code, 301)
}}}


{{{
.F.
======================================================================
FAIL: test_b (override_bug.tests.OverrideSettingsTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ""django/test/utils.py"", line 224, in inner
    return test_func(*args, **kwargs)
  File ""override_bug/override_bug/tests.py"", line 24, in test_b
    target_status_code=404
  File ""django/test/testcases.py"", line 617, in assertRedirects
    (url, expected_url))
AssertionError: Response redirected to 'http://testserver/THIS/SHOULD/BE/OVERRIDDEN/IN/THE/TEST/', expected 'http://testserver/THIS_IS_FINE/'

----------------------------------------------------------------------
Ran 3 tests in 0.031s
}}}

"	Bug	closed	Testing framework	1.6	Normal	invalid	settings		Unreviewed	0	0	0	0	0	0
