From 4ccf0c8a17d4f481cbb9b4047da30cbec5497c46 Mon Sep 17 00:00:00 2001 From: Andrey Zelenkov Date: Tue, 25 Dec 2018 16:35:35 +0300 Subject: [PATCH] Tests: fixed test_tls_reconfigure. Previously, order of applying TLS configuration and sending partial request to the application was uncertain. These changes make sure that client-application connection was established before reconfiguration. Additionally, added test to check that non-TLS connection works correctly after reconfiguration. --- test/test_tls.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/test/test_tls.py b/test/test_tls.py index fa5c9754..dc2f4505 100644 --- a/test/test_tls.py +++ b/test/test_tls.py @@ -306,23 +306,25 @@ basicConstraints = critical,CA:TRUE""" % { self.assertEqual(self.get_ssl()['status'], 200, 'certificate chain intermediate server') + @unittest.expectedFailure def test_tls_reconfigure(self): self.load('empty') self.certificate() - (resp, sock) = self.http(b"""GET / HTTP/1.1 -""", start=True, raw=True, no_recv=True) + (resp, sock) = self.get(headers={ + 'Connection': 'keep-alive', + 'Host': 'localhost' + }, start=True) + + self.assertEqual(resp['status'], 200, 'initial status') self.add_tls() - resp = self.http(b"""Host: localhost -Connection: close - -""", sock=sock, raw=True) - - self.assertEqual(resp['status'], 200, 'update status') - self.assertEqual(self.get_ssl()['status'], 200, 'update tls status') + self.assertEqual(self.get(sock=sock)['status'], 200, + 'reconfigure status') + self.assertEqual(self.get_ssl()['status'], 200, + 'reconfigure tls status') def test_tls_keepalive(self): self.load('mirror')