diff options
| author | Konstantin Pavlov <thresh@nginx.com> | 2022-06-02 16:51:49 +0400 |
|---|---|---|
| committer | Konstantin Pavlov <thresh@nginx.com> | 2022-06-02 16:51:49 +0400 |
| commit | d9fddee1dbfc1f5d49c8f40386289d7188030952 (patch) | |
| tree | 842a62b343ac33eba10e7a426a10b55bb1c46aed /test/test_reconfigure.py | |
| parent | 420395ee2e7cd464e157c49bea3d74f15bf25f30 (diff) | |
| parent | 0d48fe73c4450901622373e35f6ff3a944ec13d6 (diff) | |
| download | unit-1.27.0-1.tar.gz unit-1.27.0-1.tar.bz2 | |
Merged with the default branch.1.27.0-1
Diffstat (limited to '')
| -rw-r--r-- | test/test_reconfigure.py | 53 |
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' |
