diff options
| author | Jason Pellerin <jpellerin@gmail.com> | 2006-07-21 22:00:25 +0000 |
|---|---|---|
| committer | Jason Pellerin <jpellerin@gmail.com> | 2006-07-21 22:00:25 +0000 |
| commit | 88c64cc0830f2bcd6dc11a23ff8611e915473ba1 (patch) | |
| tree | ce45d449f0cdd29d725f30ff19b970d5f0f9463c /tests/othertests | |
| parent | bbe357f34ee6a2bd77209dbaf7af2c37970f42e1 (diff) | |
[multi-db] Expanded request-isolation tests.
git-svn-id: http://code.djangoproject.com/svn/django/branches/multiple-db-support@3418 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/othertests')
| -rw-r--r-- | tests/othertests/request_isolation.py | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/othertests/request_isolation.py b/tests/othertests/request_isolation.py index e4be8bcca7..9277dea9a1 100644 --- a/tests/othertests/request_isolation.py +++ b/tests/othertests/request_isolation.py @@ -48,7 +48,22 @@ def test_two(path, request): settings.DATABASE_NAME, "%s != %s" % \ (MY._default_manager.db.connection.settings.DATABASE_NAME, settings.DATABASE_NAME) - + + +def test_three(path, request): + """Between the 2nd and 3rd requests, the settings at the names in + OTHER_DATABASES have changed. + """ + assert model_connection_name(MX) == 'django_test_db_b' + assert MX._default_manager.db.connection.settings.DATABASE_NAME == \ + settings.OTHER_DATABASES['django_test_db_b']['DATABASE_NAME'] + assert model_connection_name(MY) == 'django_test_db_a' + assert MY._default_manager.db.connection.settings.DATABASE_NAME == \ + settings.OTHER_DATABASES['django_test_db_a']['DATABASE_NAME'], \ + "%s != %s" % \ + (MY._default_manager.db.connection.settings.DATABASE_NAME, + settings.OTHER_DATABASES['django_test_db_a']['DATABASE_NAME']) + # helpers class MockHandler(WSGIHandler): @@ -67,11 +82,13 @@ def pr(*arg): msg, arg = arg[0], arg[1:] print msg % arg + def debug(*arg): if S['verbosity'] >= 2: msg, arg = arg[0], arg[1:] print msg % arg + def setup(): debug("setup") S['ODB'] = copy.deepcopy(settings.OTHER_DATABASES) @@ -81,16 +98,19 @@ def setup(): settings.OTHER_DATABASES['django_test_db_a']['MODELS'] = ['ri.MX'] settings.OTHER_DATABASES['django_test_db_b']['MODELS'] = ['ri.MY'] + def teardown(): debug("teardown") settings.OTHER_DATABASES = S['ODB'] for sk in [ k for k in S.keys() if k.startswith('DATABASE') ]: setattr(settings, sk, S[sk]) + def start_response(code, headers): debug("start response: %s %s", code, headers) pass + def main(): debug("running tests") @@ -99,9 +119,18 @@ def main(): env['REQUEST_METHOD'] = 'GET' MockHandler(test_one)(env, start_response) + settings.OTHER_DATABASES['django_test_db_b']['MODELS'] = [] MockHandler(test_two)(env, start_response) + settings.OTHER_DATABASES['django_test_db_b']['MODELS'] = ['ri.MY'] + settings.OTHER_DATABASES['django_test_db_b'], \ + settings.OTHER_DATABASES['django_test_db_a'] = \ + settings.OTHER_DATABASES['django_test_db_a'], \ + settings.OTHER_DATABASES['django_test_db_b'] + MockHandler(test_three)(env, start_response) + + def run_tests(verbosity=0): S['verbosity'] = verbosity setup() |
