THRIFT-195. python: Add a simple THttpServer


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739638 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/test/py/TestClient.py b/test/py/TestClient.py
index 501d197..944e384 100755
--- a/test/py/TestClient.py
+++ b/test/py/TestClient.py
@@ -8,6 +8,7 @@
 from ThriftTest.ttypes import *
 from thrift.transport import TTransport
 from thrift.transport import TSocket
+from thrift.transport import THttpClient
 from thrift.protocol import TBinaryProtocol
 import unittest
 import time
@@ -15,13 +16,15 @@
 
 
 parser = OptionParser()
-parser.set_defaults(framed=False, verbose=1, host='localhost', port=9090)
+parser.set_defaults(framed=False, http_path=None, verbose=1, host='localhost', port=9090)
 parser.add_option("--port", type="int", dest="port",
     help="connect to server at port")
 parser.add_option("--host", type="string", dest="host",
     help="connect to server")
 parser.add_option("--framed", action="store_true", dest="framed",
     help="use framed transport")
+parser.add_option("--http", dest="http_path",
+    help="Use the HTTP transport with the specified path")
 parser.add_option('-v', '--verbose', action="store_const", 
     dest="verbose", const=2,
     help="verbose output")
@@ -33,13 +36,17 @@
 
 class AbstractTest(unittest.TestCase):
   def setUp(self):
-    socket = TSocket.TSocket(options.host, options.port)
-
-    # Frame or buffer depending upon args
-    if options.framed:
-      self.transport = TTransport.TFramedTransport(socket)
+    if options.http_path:
+      self.transport = THttpClient.THttpClient(
+          options.host, options.port, options.http_path)
     else:
-      self.transport = TTransport.TBufferedTransport(socket)
+      socket = TSocket.TSocket(options.host, options.port)
+
+      # frame or buffer depending upon args
+      if options.framed:
+        self.transport = TTransport.TFramedTransport(socket)
+      else:
+        self.transport = TTransport.TBufferedTransport(socket)
 
     self.transport.open()