Modernize the code base with f-strings in tests (#1069)

Simple concatenations were kept for readability purpose.
This commit is contained in:
Mickaël Schoentgen 2021-05-26 14:09:38 +02:00 committed by GitHub
parent 0ff0874fa3
commit 264d45cdf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 42 additions and 42 deletions

View File

@ -13,7 +13,7 @@ PASSWORD = 'password'
# Basic auth encoded `USERNAME` and `PASSWORD` # Basic auth encoded `USERNAME` and `PASSWORD`
# noinspection SpellCheckingInspection # noinspection SpellCheckingInspection
BASIC_AUTH_HEADER_VALUE = 'Basic dXNlcjpwYXNzd29yZA==' BASIC_AUTH_HEADER_VALUE = 'Basic dXNlcjpwYXNzd29yZA=='
BASIC_AUTH_URL = '/basic-auth/{0}/{1}'.format(USERNAME, PASSWORD) BASIC_AUTH_URL = f'/basic-auth/{USERNAME}/{PASSWORD}'
AUTH_OK = {'authenticated': True, 'user': USERNAME} AUTH_OK = {'authenticated': True, 'user': USERNAME}

View File

@ -36,7 +36,7 @@ class TestItemParsing:
self.key_value_arg(r'baz\=bar=foo'), self.key_value_arg(r'baz\=bar=foo'),
# files # files
self.key_value_arg(r'bar\@baz@%s' % FILE_PATH_ARG), self.key_value_arg(fr'bar\@baz@{FILE_PATH_ARG}'),
]) ])
# `requests.structures.CaseInsensitiveDict` => `dict` # `requests.structures.CaseInsensitiveDict` => `dict`
headers = dict(items.headers._store.values()) headers = dict(items.headers._store.values())
@ -148,16 +148,16 @@ class TestQuerystring:
path = '/get?a=1&b=2' path = '/get?a=1&b=2'
url = httpbin.url + path url = httpbin.url + path
assert HTTP_OK in r assert HTTP_OK in r
assert 'GET %s HTTP/1.1' % path in r assert f'GET {path} HTTP/1.1' in r
assert '"url": "%s"' % url in r assert f'"url": "{url}"' in r
def test_query_string_params_items(self, httpbin): def test_query_string_params_items(self, httpbin):
r = http('--print=Hhb', 'GET', httpbin.url + '/get', 'a==1') r = http('--print=Hhb', 'GET', httpbin.url + '/get', 'a==1')
path = '/get?a=1' path = '/get?a=1'
url = httpbin.url + path url = httpbin.url + path
assert HTTP_OK in r assert HTTP_OK in r
assert 'GET %s HTTP/1.1' % path in r assert f'GET {path} HTTP/1.1' in r
assert '"url": "%s"' % url in r assert f'"url": "{url}"' in r
def test_query_string_params_in_url_and_items_with_duplicates(self, def test_query_string_params_in_url_and_items_with_duplicates(self,
httpbin): httpbin):
@ -166,8 +166,8 @@ class TestQuerystring:
path = '/get?a=1&a=1&a=1&a=1' path = '/get?a=1&a=1&a=1&a=1'
url = httpbin.url + path url = httpbin.url + path
assert HTTP_OK in r assert HTTP_OK in r
assert 'GET %s HTTP/1.1' % path in r assert f'GET {path} HTTP/1.1' in r
assert '"url": "%s"' % url in r assert f'"url": "{url}"' in r
class TestLocalhostShorthand: class TestLocalhostShorthand:
@ -347,9 +347,9 @@ class TestSchemes:
http('bah', '--default=scheme=foo+bar-BAZ.123') http('bah', '--default=scheme=foo+bar-BAZ.123')
def test_default_scheme_option(self, httpbin_secure): def test_default_scheme_option(self, httpbin_secure):
url = '{0}:{1}'.format(httpbin_secure.host, httpbin_secure.port) url = f'{httpbin_secure.host}:{httpbin_secure.port}'
assert HTTP_OK in http(url, '--default-scheme=https') assert HTTP_OK in http(url, '--default-scheme=https')
def test_scheme_when_invoked_as_https(self, httpbin_secure): def test_scheme_when_invoked_as_https(self, httpbin_secure):
url = '{0}:{1}'.format(httpbin_secure.host, httpbin_secure.port) url = f'{httpbin_secure.host}:{httpbin_secure.port}'
assert HTTP_OK in http(url, program_name='https') assert HTTP_OK in http(url, program_name='https')

View File

@ -33,7 +33,7 @@ def test_main_entry_point_keyboard_interrupt(main):
def test_debug(): def test_debug():
r = http('--debug') r = http('--debug')
assert r.exit_status == ExitStatus.SUCCESS assert r.exit_status == ExitStatus.SUCCESS
assert 'HTTPie %s' % httpie.__version__ in r.stderr assert f'HTTPie {httpie.__version__}' in r.stderr
def test_help(): def test_help():

View File

@ -261,7 +261,7 @@ class TestLineEndings:
break break
assert header.endswith(CRLF), repr(header) assert header.endswith(CRLF), repr(header)
else: else:
assert 0, 'CRLF between headers and body not found in %r' % msg assert 0, f'CRLF between headers and body not found in {msg!r}'
body = ''.join(lines) body = ''.join(lines)
assert CRLF not in body assert CRLF not in body
return body return body
@ -269,7 +269,7 @@ class TestLineEndings:
def test_CRLF_headers_only(self, httpbin): def test_CRLF_headers_only(self, httpbin):
r = http('--headers', 'GET', httpbin.url + '/get') r = http('--headers', 'GET', httpbin.url + '/get')
body = self._validate_crlf(r) body = self._validate_crlf(r)
assert not body, 'Garbage after headers: %r' % r assert not body, f'Garbage after headers: {r!r}'
def test_CRLF_ugly_response(self, httpbin): def test_CRLF_ugly_response(self, httpbin):
r = http('--pretty=none', 'GET', httpbin.url + '/get') r = http('--pretty=none', 'GET', httpbin.url + '/get')

View File

@ -13,10 +13,10 @@ def test_Host_header_overwrite(httpbin):
""" """
host = 'pie.dev' host = 'pie.dev'
url = httpbin.url + '/get' url = httpbin.url + '/get'
r = http('--print=hH', url, 'host:{0}'.format(host)) r = http('--print=hH', url, f'host:{host}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.lower().count('host:') == 1 assert r.lower().count('host:') == 1
assert 'host: {0}'.format(host) in r assert f'host: {host}' in r
@pytest.mark.skipif(is_windows, reason='Unix-only') @pytest.mark.skipif(is_windows, reason='Unix-only')

View File

@ -182,8 +182,8 @@ class TestSession(SessionTestBase):
def test_session_unicode(self, httpbin): def test_session_unicode(self, httpbin):
self.start_session(httpbin) self.start_session(httpbin)
r1 = http('--session=test', u'--auth=test:' + UNICODE, r1 = http('--session=test', f'--auth=test:{UNICODE}',
'GET', httpbin.url + '/get', u'Test:%s' % UNICODE, 'GET', httpbin.url + '/get', f'Test:{UNICODE}',
env=self.env()) env=self.env())
assert HTTP_OK in r1 assert HTTP_OK in r1
@ -443,7 +443,7 @@ class TestCookieStorage(CookieTestBase):
'Cookie:' + new_cookies, 'Cookie:' + new_cookies,
) )
# Note: cookies in response are in alphabetical order # Note: cookies in response are in alphabetical order
assert 'Cookie: ' + expected in r assert f'Cookie: {expected}' in r
updated_session = json.loads(self.session_path.read_text()) updated_session = json.loads(self.session_path.read_text())
for name, value in new_cookies_dict.items(): for name, value in new_cookies_dict.items():

View File

@ -53,7 +53,7 @@ def test_ssl_version(httpbin_secure, ssl_version):
while root.__context__ is not None: while root.__context__ is not None:
root = root.__context__ root = root.__context__
if isinstance(root, ssl.SSLError) and root.reason == "TLSV1_ALERT_PROTOCOL_VERSION": if isinstance(root, ssl.SSLError) and root.reason == "TLSV1_ALERT_PROTOCOL_VERSION":
pytest.skip("Unsupported TLS version: {}".format(ssl_version)) pytest.skip(f'Unsupported TLS version: {ssl_version}')
else: else:
raise raise

View File

@ -9,102 +9,102 @@ from .fixtures import UNICODE
def test_unicode_headers(httpbin): def test_unicode_headers(httpbin):
# httpbin doesn't interpret utf8 headers # httpbin doesn't interpret utf8 headers
r = http(httpbin.url + '/headers', u'Test:%s' % UNICODE) r = http(httpbin.url + '/headers', f'Test:{UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
def test_unicode_headers_verbose(httpbin): def test_unicode_headers_verbose(httpbin):
# httpbin doesn't interpret utf8 headers # httpbin doesn't interpret utf8 headers
r = http('--verbose', httpbin.url + '/headers', u'Test:%s' % UNICODE) r = http('--verbose', httpbin.url + '/headers', f'Test:{UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert UNICODE in r assert UNICODE in r
def test_unicode_raw(httpbin): def test_unicode_raw(httpbin):
r = http('--raw', u'test %s' % UNICODE, 'POST', httpbin.url + '/post') r = http('--raw', f'test {UNICODE}', 'POST', httpbin.url + '/post')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['data'] == u'test %s' % UNICODE assert r.json['data'] == f'test {UNICODE}'
def test_unicode_raw_verbose(httpbin): def test_unicode_raw_verbose(httpbin):
r = http('--verbose', '--raw', u'test %s' % UNICODE, r = http('--verbose', '--raw', f'test {UNICODE}',
'POST', httpbin.url + '/post') 'POST', httpbin.url + '/post')
assert HTTP_OK in r assert HTTP_OK in r
assert UNICODE in r assert UNICODE in r
def test_unicode_form_item(httpbin): def test_unicode_form_item(httpbin):
r = http('--form', 'POST', httpbin.url + '/post', u'test=%s' % UNICODE) r = http('--form', 'POST', httpbin.url + '/post', f'test={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['form'] == {'test': UNICODE} assert r.json['form'] == {'test': UNICODE}
def test_unicode_form_item_verbose(httpbin): def test_unicode_form_item_verbose(httpbin):
r = http('--verbose', '--form', r = http('--verbose', '--form',
'POST', httpbin.url + '/post', u'test=%s' % UNICODE) 'POST', httpbin.url + '/post', f'test={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert UNICODE in r assert UNICODE in r
def test_unicode_json_item(httpbin): def test_unicode_json_item(httpbin):
r = http('--json', 'POST', httpbin.url + '/post', u'test=%s' % UNICODE) r = http('--json', 'POST', httpbin.url + '/post', f'test={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['json'] == {'test': UNICODE} assert r.json['json'] == {'test': UNICODE}
def test_unicode_json_item_verbose(httpbin): def test_unicode_json_item_verbose(httpbin):
r = http('--verbose', '--json', r = http('--verbose', '--json',
'POST', httpbin.url + '/post', u'test=%s' % UNICODE) 'POST', httpbin.url + '/post', f'test={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert UNICODE in r assert UNICODE in r
def test_unicode_raw_json_item(httpbin): def test_unicode_raw_json_item(httpbin):
r = http('--json', 'POST', httpbin.url + '/post', r = http('--json', 'POST', httpbin.url + '/post',
u'test:={ "%s" : [ "%s" ] }' % (UNICODE, UNICODE)) f'test:={{ "{UNICODE}" : [ "{UNICODE}" ] }}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['json'] == {'test': {UNICODE: [UNICODE]}} assert r.json['json'] == {'test': {UNICODE: [UNICODE]}}
def test_unicode_raw_json_item_verbose(httpbin): def test_unicode_raw_json_item_verbose(httpbin):
r = http('--json', 'POST', httpbin.url + '/post', r = http('--json', 'POST', httpbin.url + '/post',
u'test:={ "%s" : [ "%s" ] }' % (UNICODE, UNICODE)) f'test:={{ "{UNICODE}" : [ "{UNICODE}" ] }}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['json'] == {'test': {UNICODE: [UNICODE]}} assert r.json['json'] == {'test': {UNICODE: [UNICODE]}}
def test_unicode_url_query_arg_item(httpbin): def test_unicode_url_query_arg_item(httpbin):
r = http(httpbin.url + '/get', u'test==%s' % UNICODE) r = http(httpbin.url + '/get', f'test=={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['args'] == {'test': UNICODE}, r assert r.json['args'] == {'test': UNICODE}, r
def test_unicode_url_query_arg_item_verbose(httpbin): def test_unicode_url_query_arg_item_verbose(httpbin):
r = http('--verbose', httpbin.url + '/get', u'test==%s' % UNICODE) r = http('--verbose', httpbin.url + '/get', f'test=={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert UNICODE in r assert UNICODE in r
def test_unicode_url(httpbin): def test_unicode_url(httpbin):
r = http(httpbin.url + u'/get?test=' + UNICODE) r = http(f'{httpbin.url}/get?test={UNICODE}')
assert HTTP_OK in r assert HTTP_OK in r
assert r.json['args'] == {'test': UNICODE} assert r.json['args'] == {'test': UNICODE}
# def test_unicode_url_verbose(self): # def test_unicode_url_verbose(self):
# r = http(httpbin.url + '--verbose', u'/get?test=' + UNICODE) # r = http(httpbin.url + '--verbose', f'/get?test={UNICODE}')
# assert HTTP_OK in r # assert HTTP_OK in r
def test_unicode_basic_auth(httpbin): def test_unicode_basic_auth(httpbin):
# it doesn't really authenticate us because httpbin # it doesn't really authenticate us because httpbin
# doesn't interpret the utf8-encoded auth # doesn't interpret the utf8-encoded auth
http('--verbose', '--auth', u'test:%s' % UNICODE, http('--verbose', '--auth', f'test:{UNICODE}',
httpbin.url + u'/basic-auth/test/' + UNICODE) f'{httpbin.url}/basic-auth/test/{UNICODE}')
def test_unicode_digest_auth(httpbin): def test_unicode_digest_auth(httpbin):
# it doesn't really authenticate us because httpbin # it doesn't really authenticate us because httpbin
# doesn't interpret the utf8-encoded auth # doesn't interpret the utf8-encoded auth
http('--auth-type=digest', http('--auth-type=digest',
'--auth', u'test:%s' % UNICODE, '--auth', f'test:{UNICODE}',
httpbin.url + u'/digest-auth/auth/test/' + UNICODE) f'{httpbin.url}/digest-auth/auth/test/{UNICODE}')

View File

@ -41,7 +41,7 @@ def mk_config_dir() -> Path:
def add_auth(url, auth): def add_auth(url, auth):
proto, rest = url.split('://', 1) proto, rest = url.split('://', 1)
return proto + '://' + auth + '@' + rest return f'{proto}://{auth}@{rest}'
class StdinBytesIO(BytesIO): class StdinBytesIO(BytesIO):

View File

@ -15,7 +15,7 @@ def test_assert_output_matches_headers_unterminated():
assert_output_does_not_match( assert_output_does_not_match(
( (
f'HTTP/1.1{CRLF}' f'HTTP/1.1{CRLF}'
f'AAA:BBB' 'AAA:BBB'
f'{CRLF}' f'{CRLF}'
), ),
[Expect.RESPONSE_HEADERS], [Expect.RESPONSE_HEADERS],
@ -90,7 +90,7 @@ def test_assert_output_matches_headers_and_body():
f'HTTP/1.1{CRLF}' f'HTTP/1.1{CRLF}'
f'AAA:BBB{CRLF}' f'AAA:BBB{CRLF}'
f'{CRLF}' f'{CRLF}'
f'CCC' 'CCC'
), ),
[Expect.RESPONSE_HEADERS, Expect.BODY] [Expect.RESPONSE_HEADERS, Expect.BODY]
) )
@ -121,7 +121,7 @@ def test_assert_output_matches_multiple_messages():
f'EEE:FFF{CRLF}' f'EEE:FFF{CRLF}'
f'{CRLF}' f'{CRLF}'
f'GGG' 'GGG'
f'{MESSAGE_SEPARATOR}' f'{MESSAGE_SEPARATOR}'
), [ ), [
Expect.REQUEST_HEADERS, Expect.REQUEST_HEADERS,