Commit 28ce07ae authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-31066: Fix test_httpservers.test_last_modified() (#2933)

Write the temporary file on disk and then get its modification time.
parent cc42c121
...@@ -335,9 +335,11 @@ class SimpleHTTPServerTestCase(BaseTestCase): ...@@ -335,9 +335,11 @@ class SimpleHTTPServerTestCase(BaseTestCase):
self.tempdir = tempfile.mkdtemp(dir=basetempdir) self.tempdir = tempfile.mkdtemp(dir=basetempdir)
self.tempdir_name = os.path.basename(self.tempdir) self.tempdir_name = os.path.basename(self.tempdir)
self.base_url = '/' + self.tempdir_name self.base_url = '/' + self.tempdir_name
with open(os.path.join(self.tempdir, 'test'), 'wb') as temp: tempname = os.path.join(self.tempdir, 'test')
with open(tempname, 'wb') as temp:
temp.write(self.data) temp.write(self.data)
mtime = os.fstat(temp.fileno()).st_mtime temp.flush()
mtime = os.stat(tempname).st_mtime
# compute last modification datetime for browser cache tests # compute last modification datetime for browser cache tests
last_modif = datetime.datetime.fromtimestamp(mtime, last_modif = datetime.datetime.fromtimestamp(mtime,
datetime.timezone.utc) datetime.timezone.utc)
...@@ -471,7 +473,7 @@ class SimpleHTTPServerTestCase(BaseTestCase): ...@@ -471,7 +473,7 @@ class SimpleHTTPServerTestCase(BaseTestCase):
headers['If-Modified-Since'] = email.utils.format_datetime(new_dt, headers['If-Modified-Since'] = email.utils.format_datetime(new_dt,
usegmt=True) usegmt=True)
response = self.request(self.base_url + '/test', headers=headers) response = self.request(self.base_url + '/test', headers=headers)
self.check_status_and_reason(response, HTTPStatus.NOT_MODIFIED) self.check_status_and_reason(response, HTTPStatus.NOT_MODIFIED)
def test_browser_cache_file_changed(self): def test_browser_cache_file_changed(self):
# with If-Modified-Since earlier than Last-Modified, must return 200 # with If-Modified-Since earlier than Last-Modified, must return 200
...@@ -491,7 +493,7 @@ class SimpleHTTPServerTestCase(BaseTestCase): ...@@ -491,7 +493,7 @@ class SimpleHTTPServerTestCase(BaseTestCase):
headers['If-Modified-Since'] = self.last_modif_header headers['If-Modified-Since'] = self.last_modif_header
headers['If-None-Match'] = "*" headers['If-None-Match'] = "*"
response = self.request(self.base_url + '/test', headers=headers) response = self.request(self.base_url + '/test', headers=headers)
self.check_status_and_reason(response, HTTPStatus.OK) self.check_status_and_reason(response, HTTPStatus.OK)
def test_invalid_requests(self): def test_invalid_requests(self):
response = self.request('/', method='FOO') response = self.request('/', method='FOO')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment