Tests: get rid of classes in test files.

Class usage came from the unittest framework and it was always redundant
after migration to the pytest.  This commit removes classes from files
containing tests to make them more readable and understandable.
This commit is contained in:
Andrei Zeliankou
2023-06-14 18:20:09 +01:00
parent c6d05191a0
commit c183bd8749
84 changed files with 17455 additions and 16814 deletions

View File

@@ -2,122 +2,126 @@ import os
from conftest import unit_stop
from packaging import version
from unit.applications.lang.python import TestApplicationPython
from unit.applications.lang.python import ApplicationPython
from unit.option import option
prerequisites = {
'modules': {'python': lambda v: version.parse(v) >= version.parse('3.5')}
}
client = ApplicationPython(load_module='asgi')
class TestASGILifespan(TestApplicationPython):
load_module = 'asgi'
def setup_cookies(self, prefix):
base_dir = f'{option.test_dir}/python/lifespan/empty'
def assert_cookies(prefix):
for name in ['startup', 'shutdown']:
path = f'{option.test_dir}/python/lifespan/empty/{prefix}{name}'
exists = os.path.isfile(path)
if exists:
os.remove(path)
os.chmod(base_dir, 0o777)
assert not exists, name
for name in ['startup', 'shutdown', 'version']:
path = f'{option.test_dir}/python/lifespan/empty/{prefix}{name}'
open(path, 'a').close()
os.chmod(path, 0o777)
path = f'{option.test_dir}/python/lifespan/empty/{prefix}version'
def assert_cookies(self, prefix):
for name in ['startup', 'shutdown']:
path = f'{option.test_dir}/python/lifespan/empty/{prefix}{name}'
exists = os.path.isfile(path)
if exists:
os.remove(path)
with open(path, 'r') as f:
version = f.read()
assert not exists, name
os.remove(path)
path = f'{option.test_dir}/python/lifespan/empty/{prefix}version'
assert version == '3.0 2.0', 'version'
with open(path, 'r') as f:
version = f.read()
os.remove(path)
def setup_cookies(prefix):
base_dir = f'{option.test_dir}/python/lifespan/empty'
assert version == '3.0 2.0', 'version'
os.chmod(base_dir, 0o777)
def test_asgi_lifespan(self):
self.load('lifespan/empty')
for name in ['startup', 'shutdown', 'version']:
path = f'{option.test_dir}/python/lifespan/empty/{prefix}{name}'
open(path, 'a').close()
os.chmod(path, 0o777)
self.setup_cookies('')
assert self.get()['status'] == 204
def test_asgi_lifespan():
client.load('lifespan/empty')
unit_stop()
setup_cookies('')
self.assert_cookies('')
assert client.get()['status'] == 204
def test_asgi_lifespan_targets(self):
path = f'{option.test_dir}/python/lifespan/empty'
unit_stop()
assert 'success' in self.conf(
{
"listeners": {"*:7080": {"pass": "routes"}},
"routes": [
{
"match": {"uri": "/1"},
"action": {"pass": "applications/targets/1"},
},
{
"match": {"uri": "/2"},
"action": {"pass": "applications/targets/2"},
},
],
"applications": {
"targets": {
"type": self.get_application_type(),
"processes": {"spare": 0},
"working_directory": path,
"path": path,
"targets": {
"1": {"module": "asgi", "callable": "application"},
"2": {
"module": "asgi",
"callable": "application2",
},
},
}
assert_cookies('')
def test_asgi_lifespan_targets():
path = f'{option.test_dir}/python/lifespan/empty'
assert 'success' in client.conf(
{
"listeners": {"*:7080": {"pass": "routes"}},
"routes": [
{
"match": {"uri": "/1"},
"action": {"pass": "applications/targets/1"},
},
}
)
{
"match": {"uri": "/2"},
"action": {"pass": "applications/targets/2"},
},
],
"applications": {
"targets": {
"type": client.get_application_type(),
"processes": {"spare": 0},
"working_directory": path,
"path": path,
"targets": {
"1": {"module": "asgi", "callable": "application"},
"2": {
"module": "asgi",
"callable": "application2",
},
},
}
},
}
)
self.setup_cookies('')
self.setup_cookies('app2_')
setup_cookies('')
setup_cookies('app2_')
assert self.get(url="/1")['status'] == 204
assert self.get(url="/2")['status'] == 204
assert client.get(url="/1")['status'] == 204
assert client.get(url="/2")['status'] == 204
unit_stop()
unit_stop()
self.assert_cookies('')
self.assert_cookies('app2_')
assert_cookies('')
assert_cookies('app2_')
def test_asgi_lifespan_failed(self, wait_for_record):
self.load('lifespan/failed')
assert self.get()['status'] == 503
def test_asgi_lifespan_failed(wait_for_record):
client.load('lifespan/failed')
assert (
wait_for_record(r'\[error\].*Application startup failed')
is not None
), 'error message'
assert wait_for_record(r'Exception blah') is not None, 'exception'
assert client.get()['status'] == 503
def test_asgi_lifespan_error(self, wait_for_record):
self.load('lifespan/error')
assert (
wait_for_record(r'\[error\].*Application startup failed') is not None
), 'error message'
assert wait_for_record(r'Exception blah') is not None, 'exception'
self.get()
assert wait_for_record(r'Exception blah') is not None, 'exception'
def test_asgi_lifespan_error(wait_for_record):
client.load('lifespan/error')
def test_asgi_lifespan_error_auto(self, wait_for_record):
self.load('lifespan/error_auto')
client.get()
self.get()
assert wait_for_record(r'Exception blah') is not None, 'exception'
assert wait_for_record(r'AssertionError') is not None, 'assertion'
def test_asgi_lifespan_error_auto(wait_for_record):
client.load('lifespan/error_auto')
client.get()
assert wait_for_record(r'AssertionError') is not None, 'assertion'