Opened 6 years ago

Last modified 6 years ago

#29305 closed Bug

GET or POST requests outside of the browser to the LiveServerTestCase hang — at Initial Version

Reported by: Santiago García Owned by: nobody
Component: Testing framework Version: 1.11
Severity: Normal Keywords: Test
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

We have an integration test where we start two separate Django processes and the second process makes a POST request to the first process with the requests library. This testcase broke once we upgraded to Django 1.11, while it still worked in Django 1.10.

To reproduce the issue:

  • Create a simple Django app.
  • Install selenium and requests
  • Add a testcase like so:


import time

from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from django.urls import reverse
from selenium import webdriver


class TestExample(StaticLiveServerTestCase):
    def test_example(self):
        driver = webdriver.Chrome()
        driver.get(self.live_server_url + reverse('admin:index'))
        # wait "forever"
        time.sleep(60 * 60 * 24)

I.e it just opens the admin page, then waits for 24 hours. In a Python console, type the following:

import requests
requests.get('http://localhost:47256/admin')

and you will see that the request hangs indefinitely. Interestingly, it sometimes helps to press refresh in the Chrome window spawned by Selenium.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top