unit/test/test_php_basic.py
Andrei Zeliankou 0b85fe29f7 Tests: 8XXX used as default port range.
After the launch of the project, the testing infrastructure was shared with
nginx project in some cases.  To avoid port overlap, a decision was made
to shift the port range for Unit tests.  This problem was resolved a long time
ago and is no longer relevant, so it is now safe to use port 8XXX range as the
default, as it is more appropriate for testing purposes.
2023-11-08 18:37:02 +00:00

130 lines
3.5 KiB
Python

from unit.control import Control
prerequisites = {'modules': {'php': 'any'}}
client = Control()
conf_app = {
"app": {
"type": "php",
"processes": {"spare": 0},
"root": "/app",
"index": "index.php",
}
}
conf_basic = {
"listeners": {"*:8080": {"pass": "applications/app"}},
"applications": conf_app,
}
def test_php_get_applications():
assert 'success' in client.conf(conf_app, 'applications')
conf = client.conf_get()
assert conf['listeners'] == {}, 'listeners'
assert conf['applications'] == {
"app": {
"type": "php",
"processes": {"spare": 0},
"root": "/app",
"index": "index.php",
}
}, 'applications'
assert client.conf_get('applications') == {
"app": {
"type": "php",
"processes": {"spare": 0},
"root": "/app",
"index": "index.php",
}
}, 'applications prefix'
assert client.conf_get('applications/app') == {
"type": "php",
"processes": {"spare": 0},
"root": "/app",
"index": "index.php",
}, 'applications prefix 2'
assert client.conf_get('applications/app/type') == 'php', 'type'
assert (
client.conf_get('applications/app/processes/spare') == 0
), 'spare processes'
def test_php_get_listeners():
assert 'success' in client.conf(conf_basic)
assert client.conf_get()['listeners'] == {
"*:8080": {"pass": "applications/app"}
}, 'listeners'
assert client.conf_get('listeners') == {
"*:8080": {"pass": "applications/app"}
}, 'listeners prefix'
assert client.conf_get('listeners/*:8080') == {
"pass": "applications/app"
}, 'listeners prefix 2'
def test_php_change_listener():
assert 'success' in client.conf(conf_basic)
assert 'success' in client.conf(
{"*:8081": {"pass": "applications/app"}}, 'listeners'
)
assert client.conf_get('listeners') == {
"*:8081": {"pass": "applications/app"}
}, 'change listener'
def test_php_add_listener():
assert 'success' in client.conf(conf_basic)
assert 'success' in client.conf(
{"pass": "applications/app"}, 'listeners/*:8082'
)
assert client.conf_get('listeners') == {
"*:8080": {"pass": "applications/app"},
"*:8082": {"pass": "applications/app"},
}, 'add listener'
def test_php_change_application():
assert 'success' in client.conf(conf_basic)
assert 'success' in client.conf('30', 'applications/app/processes/max')
assert (
client.conf_get('applications/app/processes/max') == 30
), 'change application max'
assert 'success' in client.conf('"/www"', 'applications/app/root')
assert (
client.conf_get('applications/app/root') == '/www'
), 'change application root'
def test_php_delete():
assert 'success' in client.conf(conf_basic)
assert 'error' in client.conf_delete('applications/app')
assert 'success' in client.conf_delete('listeners/*:8080')
assert 'success' in client.conf_delete('applications/app')
assert 'error' in client.conf_delete('applications/app')
def test_php_delete_blocks():
assert 'success' in client.conf(conf_basic)
assert 'success' in client.conf_delete('listeners')
assert 'success' in client.conf_delete('applications')
assert 'success' in client.conf(conf_app, 'applications')
assert 'success' in client.conf(
{"*:8081": {"pass": "applications/app"}}, 'listeners'
), 'applications restore'