Tests: switched to using f-strings.

Previously, it was necessary to support older versions of Python for
compatibility.  F-strings were released in Python 3.6.  Python 3.5 was
marked as unsupported by the end of 2020, so now it's possible to start
using f-strings safely for better readability and performance.
This commit is contained in:
Andrei Zeliankou
2023-02-21 17:21:29 +00:00
parent fcabbf09d8
commit 7934dcabbc
74 changed files with 695 additions and 778 deletions

View File

@@ -11,13 +11,13 @@ class TestStatic(TestApplicationProto):
prerequisites = {}
def setup_method(self):
os.makedirs(option.temp_dir + '/assets/dir')
with open(option.temp_dir + '/assets/index.html', 'w') as index, open(
option.temp_dir + '/assets/README', 'w'
os.makedirs(f'{option.temp_dir}/assets/dir')
with open(f'{option.temp_dir}/assets/index.html', 'w') as index, open(
f'{option.temp_dir}/assets/README', 'w'
) as readme, open(
option.temp_dir + '/assets/log.log', 'w'
f'{option.temp_dir}/assets/log.log', 'w'
) as log, open(
option.temp_dir + '/assets/dir/file', 'w'
f'{option.temp_dir}/assets/dir/file', 'w'
) as file:
index.write('0123456789')
readme.write('readme')
@@ -28,7 +28,7 @@ class TestStatic(TestApplicationProto):
{
"listeners": {"*:7080": {"pass": "routes"}},
"routes": [
{"action": {"share": option.temp_dir + "/assets$uri"}}
{"action": {"share": f'{option.temp_dir}/assets$uri'}}
],
"settings": {
"http": {
@@ -40,10 +40,10 @@ class TestStatic(TestApplicationProto):
}
)
def test_static_index(self):
def test_static_index(self, temp_dir):
def set_index(index):
assert 'success' in self.conf(
{"share": option.temp_dir + "/assets$uri", "index": index},
{"share": f'{temp_dir}/assets$uri', "index": index},
'routes/0/action',
), 'configure index'
@@ -72,12 +72,12 @@ class TestStatic(TestApplicationProto):
resp['headers']['Content-Type'] == 'text/html'
), 'index not found 2 Content-Type'
def test_static_index_invalid(self, skip_alert):
def test_static_index_invalid(self, skip_alert, temp_dir):
skip_alert(r'failed to apply new conf')
def check_index(index):
assert 'error' in self.conf(
{"share": option.temp_dir + "/assets$uri", "index": index},
{"share": f'{temp_dir}/assets$uri', "index": index},
'routes/0/action',
)
@@ -86,7 +86,7 @@ class TestStatic(TestApplicationProto):
def test_static_large_file(self, temp_dir):
file_size = 32 * 1024 * 1024
with open(temp_dir + '/assets/large', 'wb') as f:
with open(f'{temp_dir}/assets/large', 'wb') as f:
f.seek(file_size - 1)
f.write(b'\0')
@@ -102,7 +102,7 @@ class TestStatic(TestApplicationProto):
assert etag != etag_2, 'different ETag'
assert etag == self.get(url='/')['headers']['ETag'], 'same ETag'
with open(temp_dir + '/assets/index.html', 'w') as f:
with open(f'{temp_dir}/assets/index.html', 'w') as f:
f.write('blah')
assert etag != self.get(url='/')['headers']['ETag'], 'new ETag'
@@ -114,19 +114,21 @@ class TestStatic(TestApplicationProto):
assert 'Content-Type' not in resp['headers'], 'redirect Content-Type'
def test_static_space_in_name(self, temp_dir):
assets_dir = f'{temp_dir}/assets'
os.rename(
temp_dir + '/assets/dir/file',
temp_dir + '/assets/dir/fi le',
f'{assets_dir}/dir/file',
f'{assets_dir}/dir/fi le',
)
assert waitforfiles(temp_dir + '/assets/dir/fi le')
assert waitforfiles(f'{assets_dir}/dir/fi le')
assert self.get(url='/dir/fi le')['body'] == 'blah', 'file name'
os.rename(temp_dir + '/assets/dir', temp_dir + '/assets/di r')
assert waitforfiles(temp_dir + '/assets/di r/fi le')
os.rename(f'{assets_dir}/dir', f'{assets_dir}/di r')
assert waitforfiles(f'{assets_dir}/di r/fi le')
assert self.get(url='/di r/fi le')['body'] == 'blah', 'dir name'
os.rename(temp_dir + '/assets/di r', temp_dir + '/assets/ di r ')
assert waitforfiles(temp_dir + '/assets/ di r /fi le')
os.rename(f'{assets_dir}/di r', f'{assets_dir}/ di r ')
assert waitforfiles(f'{assets_dir}/ di r /fi le')
assert (
self.get(url='/ di r /fi le')['body'] == 'blah'
), 'dir name enclosing'
@@ -147,16 +149,16 @@ class TestStatic(TestApplicationProto):
), 'encoded 2'
os.rename(
temp_dir + '/assets/ di r /fi le',
temp_dir + '/assets/ di r / fi le ',
f'{assets_dir}/ di r /fi le',
f'{assets_dir}/ di r / fi le ',
)
assert waitforfiles(temp_dir + '/assets/ di r / fi le ')
assert waitforfiles(f'{assets_dir}/ di r / fi le ')
assert (
self.get(url='/%20di%20r%20/%20fi%20le%20')['body'] == 'blah'
), 'file name enclosing'
try:
open(temp_dir + 'а', 'a').close()
open(f'{temp_dir}а', 'a').close()
utf8 = True
except KeyboardInterrupt:
@@ -167,33 +169,33 @@ class TestStatic(TestApplicationProto):
if utf8:
os.rename(
temp_dir + '/assets/ di r / fi le ',
temp_dir + '/assets/ di r /фа йл',
f'{assets_dir}/ di r / fi le ',
f'{assets_dir}/ di r /фа йл',
)
assert waitforfiles(temp_dir + '/assets/ di r /фа йл')
assert waitforfiles(f'{assets_dir}/ di r /фа йл')
assert (
self.get(url='/ di r /фа йл')['body'] == 'blah'
), 'file name 2'
os.rename(
temp_dir + '/assets/ di r ',
temp_dir + '/assets/ди ректория',
f'{assets_dir}/ di r ',
f'{assets_dir}/ди ректория',
)
assert waitforfiles(temp_dir + '/assets/ди ректория/фа йл')
assert waitforfiles(f'{assets_dir}/ди ректория/фа йл')
assert (
self.get(url='/ди ректория/фа йл')['body'] == 'blah'
), 'dir name 2'
def test_static_unix_socket(self, temp_dir):
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.bind(temp_dir + '/assets/unix_socket')
sock.bind(f'{temp_dir}/assets/unix_socket')
assert self.get(url='/unix_socket')['status'] == 404, 'socket'
sock.close()
def test_static_unix_fifo(self, temp_dir):
os.mkfifo(temp_dir + '/assets/fifo')
os.mkfifo(f'{temp_dir}/assets/fifo')
assert self.get(url='/fifo')['status'] == 404, 'fifo'
@@ -346,5 +348,5 @@ Content-Length: 6\r
raw_resp=True,
raw=True,
sock_type='unix',
addr=temp_dir + '/control.unit.sock',
addr=f'{temp_dir}/control.unit.sock',
), 'mime_types invalid'