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 commitd754a83086
) (cherry picked from commit0d5b3c6d7a
)
This commit is contained in:
parent
3033fa2ec0
commit
d95b321486
|
@ -243,14 +243,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()
|
||||
|
@ -271,24 +267,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(utils.is_osx(), 'SO_REUSEADDR behaves differently'
|
||||
' on OSX, see bug 1436895')
|
||||
|
|
Loading…
Reference in New Issue