Skip to content

Commit b3ba4e0

Browse files
authored
Merge pull request #21 from renatomefi/feature/tests-fixtures
Create setup and tear down fixture for fpm changes
2 parents 553b070 + 87ac965 commit b3ba4e0

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ test: ## Test code in multiple images
1515
$(MAKE) test-image IMAGE="php:7.1-fpm-alpine3.8" DOCKERFILE="alpine"
1616
$(MAKE) test-image IMAGE="php:7.2-fpm-alpine3.7" DOCKERFILE="alpine"
1717
$(MAKE) test-image IMAGE="php:7.2-fpm-alpine3.8" DOCKERFILE="alpine"
18-
$(MAKE) test-image IMAGE="php:7.3-rc-fpm-alpine3.8" DOCKERFILE="alpine"
18+
$(MAKE) test-image IMAGE="php:7.3-fpm-alpine3.8" DOCKERFILE="alpine"
19+
$(MAKE) test-image IMAGE="php:7.3-fpm-alpine3.9" DOCKERFILE="alpine"
1920
$(MAKE) test-image IMAGE="php:7.1-fpm-stretch" DOCKERFILE="stretch"
2021
$(MAKE) test-image IMAGE="php:7.2-fpm-stretch" DOCKERFILE="stretch"
21-
$(MAKE) test-image IMAGE="php:7.3-rc-fpm-stretch" DOCKERFILE="stretch"
22+
$(MAKE) test-image IMAGE="php:7.3-fpm-stretch" DOCKERFILE="stretch"
2223

2324
test-image:
2425
./test/docker.sh ${DOCKERFILE} ${IMAGE}

test/testinfra/test_fpm.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
import 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

Comments
 (0)