- Refactored HAProxy configuration files, templates, and paths to use `/etc/easyhaproxy` instead of `/etc/haproxy`. - Updated Dockerfile to generate DH params and placeholder certificates in the new configuration directory. - Added health check support with timeout to `DockerComposeFixture` in E2E test utilities. - Adjusted tests, templates, and plugins to use the new `Consts`-based configuration paths. - Introduced pytest fixtures for environment isolation and temporary directory management.
58 lines
2.7 KiB
Python
58 lines
2.7 KiB
Python
import os
|
|
from functions import Consts
|
|
|
|
from functions import DaemonizeHAProxy
|
|
|
|
|
|
def test_daemonize_haproxy():
|
|
daemon = DaemonizeHAProxy()
|
|
assert daemon is not None
|
|
|
|
def test_daemonize_haproxy_check_config():
|
|
daemon = DaemonizeHAProxy()
|
|
filed = daemon.get_custom_config_files()
|
|
assert filed == {}
|
|
|
|
def test_daemonize_haproxy_get_haproxy_command_start():
|
|
daemon = DaemonizeHAProxy()
|
|
command = daemon.get_haproxy_command(DaemonizeHAProxy.HAPROXY_START)
|
|
assert command == f"/usr/sbin/haproxy -W -f {Consts.haproxy_config} -p /run/haproxy.pid -S /var/run/haproxy.sock"
|
|
|
|
def test_daemonize_haproxy_get_haproxy_command_reload_nopid():
|
|
daemon = DaemonizeHAProxy()
|
|
command = daemon.get_haproxy_command(DaemonizeHAProxy.HAPROXY_RELOAD)
|
|
assert command == f"/usr/sbin/haproxy -W -f {Consts.haproxy_config} -p /run/haproxy.pid -S /var/run/haproxy.sock"
|
|
|
|
def test_daemonize_haproxy_get_haproxy_command_reload_pidinvalid():
|
|
daemon = DaemonizeHAProxy()
|
|
try:
|
|
with open("/tmp/temp.pid", 'w') as file:
|
|
file.write("-1001")
|
|
command = daemon.get_haproxy_command(DaemonizeHAProxy.HAPROXY_RELOAD, "/tmp/temp.pid")
|
|
assert command == f"/usr/sbin/haproxy -W -f {Consts.haproxy_config} -p /tmp/temp.pid -S /var/run/haproxy.sock"
|
|
finally:
|
|
assert not os.path.exists("/tmp/temp.pid")
|
|
|
|
def test_daemonize_haproxy_get_haproxy_command_reload_existing_pin():
|
|
daemon = DaemonizeHAProxy()
|
|
try:
|
|
with open("/tmp/temp.pid", 'w') as file:
|
|
file.write("1")
|
|
command = daemon.get_haproxy_command(DaemonizeHAProxy.HAPROXY_RELOAD, "/tmp/temp.pid")
|
|
assert command == f"/usr/sbin/haproxy -W -f {Consts.haproxy_config} -p /tmp/temp.pid -x /var/run/haproxy.sock -sf 1"
|
|
finally:
|
|
assert os.path.exists("/tmp/temp.pid")
|
|
os.unlink("/tmp/temp.pid")
|
|
|
|
def test_daemonize_haproxy2_check_config():
|
|
daemon = DaemonizeHAProxy(os.path.abspath(os.path.dirname(__file__)) + '/fixtures')
|
|
filed = daemon.get_custom_config_files()
|
|
assert filed == {
|
|
os.path.dirname(__file__) + "/fixtures/00_haproxy.cfg": os.path.getmtime(os.path.dirname(__file__) + "/fixtures/00_haproxy.cfg"),
|
|
os.path.dirname(__file__) + "/fixtures/10_haproxy.cfg": os.path.getmtime(os.path.dirname(__file__) + "/fixtures/10_haproxy.cfg")
|
|
}
|
|
|
|
def test_daemonize_haproxy2_get_haproxy_command_start():
|
|
daemon = DaemonizeHAProxy(os.path.abspath(os.path.dirname(__file__)) + '/fixtures')
|
|
command = daemon.get_haproxy_command(DaemonizeHAProxy.HAPROXY_START)
|
|
assert command == f"/usr/sbin/haproxy -W -f {Consts.haproxy_config} -f {os.path.dirname(__file__)}/fixtures -p /run/haproxy.pid -S /var/run/haproxy.sock"
|