Replace eventlet-based raw socket client with requests
There's no discernable reason why we need to use a raw
eventlet-based client TestWSGIServerWithSSL to confirm that a
wsgi server is listening correctly and returning the expected
response, especially since using eventlet leads to unreliable
i/o on the socket unless there is an explicit yield before
asserting the value of the response.
So requests is used to query the servers and verify the response.
Change-Id: I00c1c1e93eb7c66c3370434db4e3e6c00087f8aa
Closes-Bug: #1543766
(cherry picked from commit d754a83086
)
This commit is contained in:
parent
c5d0d2d0f4
commit
0d5b3c6d7a
|
@ -244,14 +244,10 @@ class TestWSGIServerWithSSL(test.NoDBTestCase):
|
|||
fake_ssl_server.start()
|
||||
self.assertNotEqual(0, fake_ssl_server.port)
|
||||
|
||||
cli = eventlet.connect(("localhost", fake_ssl_server.port))
|
||||
cli = eventlet.wrap_ssl(cli,
|
||||
ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'))
|
||||
|
||||
cli.write('POST / HTTP/1.1\r\nHost: localhost\r\n'
|
||||
'Connection: close\r\nContent-length:4\r\n\r\nPING')
|
||||
response = cli.read(8192)
|
||||
self.assertEqual(response[-4:], "PONG")
|
||||
response = requests.post(
|
||||
'https://127.0.0.1:%s/' % fake_ssl_server.port,
|
||||
verify=os.path.join(SSL_CERT_DIR, 'ca.crt'), data='PING')
|
||||
self.assertEqual(response.text, 'PONG')
|
||||
|
||||
fake_ssl_server.stop()
|
||||
fake_ssl_server.wait()
|
||||
|
@ -272,24 +268,19 @@ class TestWSGIServerWithSSL(test.NoDBTestCase):
|
|||
fake_server.start()
|
||||
self.assertNotEqual(0, fake_server.port)
|
||||
|
||||
cli = eventlet.connect(("localhost", fake_ssl_server.port))
|
||||
cli = eventlet.wrap_ssl(cli,
|
||||
ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'))
|
||||
response = requests.post(
|
||||
'https://127.0.0.1:%s/' % fake_ssl_server.port,
|
||||
verify=os.path.join(SSL_CERT_DIR, 'ca.crt'), data='PING')
|
||||
self.assertEqual(response.text, 'PONG')
|
||||
|
||||
cli.write('POST / HTTP/1.1\r\nHost: localhost\r\n'
|
||||
'Connection: close\r\nContent-length:4\r\n\r\nPING')
|
||||
response = cli.read(8192)
|
||||
self.assertEqual(response[-4:], "PONG")
|
||||
|
||||
cli = eventlet.connect(("localhost", fake_server.port))
|
||||
|
||||
cli.sendall('POST / HTTP/1.1\r\nHost: localhost\r\n'
|
||||
'Connection: close\r\nContent-length:4\r\n\r\nPING')
|
||||
response = cli.recv(8192)
|
||||
self.assertEqual(response[-4:], "PONG")
|
||||
response = requests.post('http://127.0.0.1:%s/' % fake_server.port,
|
||||
data='PING')
|
||||
self.assertEqual(response.text, 'PONG')
|
||||
|
||||
fake_ssl_server.stop()
|
||||
fake_ssl_server.wait()
|
||||
fake_server.stop()
|
||||
fake_server.wait()
|
||||
|
||||
@testtools.skipIf(not utils.is_linux(), 'SO_REUSEADDR behaves differently'
|
||||
' on OSX and BSD, see bugs '
|
||||
|
|
Loading…
Reference in New Issue