11import pytest
22
3+ @pytest .fixture (scope = "module" )
4+ def setup_fpm_fixture (host , request ):
5+ print ('Backing up current fpm configuration' )
6+ host .run ("cp /usr/local/etc/php-fpm.d/zz-docker.conf /tmp/zz-docker.conf" )
7+ yield 1
8+ print ('Recovering fpm configuration and reloading after module' )
9+ host .run ("cp /tmp/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf" )
10+
11+ @pytest .fixture
12+ def setup_fpm_to_default_fixture (host , request , setup_fpm_fixture ):
13+ print ('Recovering fpm configuration and reloading' )
14+ host .run ("cp -f /tmp/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf" )
15+ host .run ("kill -USR2 1" )
16+
317@pytest .mark .php_fpm
4- def test_exit_when_no_status_page_is_configured (host ):
18+ def test_exit_when_no_status_page_is_configured (host , setup_fpm_to_default_fixture ):
519 # disable fpm status page
620 host .run ("sed -i /usr/local/etc/php-fpm.d/zz-docker.conf -e '/pm.status_path/ s/^;*/;/'" )
721 host .run ("kill -USR2 1" )
@@ -12,12 +26,8 @@ def test_exit_when_no_status_page_is_configured(host):
1226 assert "status output:" in cmd .stdout
1327 assert "php-fpm status page non reachable" in cmd .stderr
1428
15- # enable fpm status page back
16- host .run ("sed -i /usr/local/etc/php-fpm.d/zz-docker.conf -e '/;pm.status_path/ s/^;*//'" )
17- host .run ("kill -USR2 1" )
18-
1929@pytest .mark .php_fpm
20- def test_fpm_on_socket (host ):
30+ def test_fpm_on_socket (host , setup_fpm_to_default_fixture ):
2131 # change fpm to socket
2232 host .run ("sed -i /usr/local/etc/php-fpm.d/zz-docker.conf -e '/^listen/ s/.*/listen = \\ /var\\ /run\\ /php-fpm.sock/'" )
2333 host .run ("kill -USR2 1" )
@@ -28,39 +38,35 @@ def test_fpm_on_socket(host):
2838 assert "status output:" in cmd .stdout
2939 assert "pool:" in cmd .stdout
3040
31- # change fpm back to port 9000
32- host .run ("sed -i /usr/local/etc/php-fpm.d/zz-docker.conf -e '/^listen/ s/.*/listen = 9000/'" )
33- host .run ("kill -USR2 1" )
34-
3541# https://github.com/renatomefi/php-fpm-healthcheck/issues/18
3642@pytest .mark .php_fpm
37- def test_fpm_on_socket_with_huge_env (host ):
43+ def test_fpm_on_socket_with_huge_env (host , setup_fpm_to_default_fixture ):
3844 cmd = host .run ("HUGE_ENV=\" $(dd if=/dev/zero bs=8192 count=1 | tr '\\ 000' '\\ 040')\" php-fpm-healthcheck -v" )
3945 assert cmd .rc == 0
4046 assert "Trying to connect to php-fpm via:" in cmd .stdout
4147 assert "status output:" in cmd .stdout
4248 assert "pool:" in cmd .stdout
4349
4450@pytest .mark .alpine
45- def test_exit_when_fpm_is_not_reachable_apk (host ):
51+ def test_exit_when_fpm_is_not_reachable_apk (host , setup_fpm_to_default_fixture ):
4652 cmd = host .run ("FCGI_CONNECT=localhost:9001 php-fpm-healthcheck -v" )
4753 assert cmd .rc == 9
4854 assert "Trying to connect to php-fpm via: localhost:9001" in cmd .stdout
4955
5056@pytest .mark .alpine
51- def test_exit_when_fpm_is_invalid_host_apk (host ):
57+ def test_exit_when_fpm_is_invalid_host_apk (host , setup_fpm_to_default_fixture ):
5258 cmd = host .run ("FCGI_CONNECT=abc php-fpm-healthcheck -v" )
5359 assert cmd .rc == 9
5460 assert "Trying to connect to php-fpm via: abc" in cmd .stdout
5561
5662@pytest .mark .stretch
57- def test_exit_when_fpm_is_not_reachable_apt (host ):
63+ def test_exit_when_fpm_is_not_reachable_apt (host , setup_fpm_to_default_fixture ):
5864 cmd = host .run ("FCGI_CONNECT=localhost:9001 php-fpm-healthcheck -v" )
5965 assert cmd .rc == 111
6066 assert "Trying to connect to php-fpm via: localhost:9001" in cmd .stdout
6167
6268@pytest .mark .stretch
63- def test_exit_when_fpm_is_invalid_host_apt (host ):
69+ def test_exit_when_fpm_is_invalid_host_apt (host , setup_fpm_to_default_fixture ):
6470 cmd = host .run ("FCGI_CONNECT=abc php-fpm-healthcheck -v" )
6571 assert cmd .rc == 2
6672 assert "Trying to connect to php-fpm via: abc" in cmd .stdout
0 commit comments