summaryrefslogtreecommitdiffhomepage
path: root/test/test_reconfigure.py
diff options
context:
space:
mode:
authorAndrei Zeliankou <zelenkov@nginx.com>2022-05-09 10:14:29 +0100
committerAndrei Zeliankou <zelenkov@nginx.com>2022-05-09 10:14:29 +0100
commit03a7701133887dbf7e8eb8d80c4d2473f97477a7 (patch)
tree40575eaa439e6ffc0e9170cf5f9e5d4746f9852a /test/test_reconfigure.py
parent9c276d4d609577d574de6f1cc6fbe8101fa8536a (diff)
downloadunit-03a7701133887dbf7e8eb8d80c4d2473f97477a7.tar.gz
unit-03a7701133887dbf7e8eb8d80c4d2473f97477a7.tar.bz2
Tests: added more tests with reconfiguration.
Diffstat (limited to 'test/test_reconfigure.py')
-rw-r--r--test/test_reconfigure.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/test_reconfigure.py b/test/test_reconfigure.py
new file mode 100644
index 00000000..ab05a1c8
--- /dev/null
+++ b/test/test_reconfigure.py
@@ -0,0 +1,53 @@
+import time
+
+import pytest
+from unit.applications.proto import TestApplicationProto
+
+
+class TestReconfigure(TestApplicationProto):
+ prerequisites = {}
+
+ @pytest.fixture(autouse=True)
+ def setup_method_fixture(self):
+ assert 'success' in self.conf(
+ {
+ "listeners": {"*:7080": {"pass": "routes"}},
+ "routes": [{"action": {"return": 200}}],
+ "applications": {},
+ }
+ )
+
+ def clear_conf(self):
+ assert 'success' in self.conf({"listeners": {}, "applications": {}})
+
+ def test_reconfigure(self):
+ (_, sock) = self.http(
+ b"""GET / HTTP/1.1
+""",
+ start=True,
+ raw=True,
+ no_recv=True,
+ )
+
+ self.clear_conf()
+
+ resp = self.http(
+ b"""Host: localhost
+Connection: close
+
+""",
+ sock=sock,
+ raw=True,
+ )
+ assert resp['status'] == 200, 'finish request'
+
+ def test_reconfigure_2(self):
+ (_, sock) = self.http(b'', raw=True, start=True, no_recv=True)
+
+ # Waiting for connection completion.
+ # Delay should be more than TCP_DEFER_ACCEPT.
+ time.sleep(1.5)
+
+ self.clear_conf()
+
+ assert self.get(sock=sock)['status'] == 408, 'request timeout'