summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortermie <github@anarkystic.com>2011-10-11 15:11:27 -0700
committertermie <github@anarkystic.com>2011-10-11 15:11:27 -0700
commita200e5007e0b0ba5b88a3555dea5600a1915701c (patch)
tree250847ce2af1192b42b64b4ead80500feede3cb5
parent03b75a5e696c1d7423b498f0dbc4752d29aa4dd0 (diff)
add a test client
-rw-r--r--keystonelight/test.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/keystonelight/test.py b/keystonelight/test.py
index 801bae1c..5b5e89d1 100644
--- a/keystonelight/test.py
+++ b/keystonelight/test.py
@@ -1,10 +1,37 @@
import os
import unittest
+from keystonelight import wsgi
+
ROOTDIR = os.path.dirname(os.path.dirname(__file__))
VENDOR = os.path.join(ROOTDIR, 'vendor')
+class TestClient(object):
+ def __init__(self, endpoint=None, token=None):
+ self.endpoint = None
+ self.token = token
+
+ def request(self, method, path, headers=None, body=None):
+ if headers is None:
+ headers = {}
+ req = wsgi.Request.blank(path)
+ req.method = method
+ for k, v in headers.iteritems():
+ req.headers[k] = v
+ if req.body:
+ req.body = body
+ return req.get_response(self.endpoint)
+
+ def get(self, path, headers=None):
+ return self.request('GET', path=path, headers=headers)
+
+ def post(self, path, headers=None, body=None):
+ return self.request('POST', path=path, headers=headers, body=body)
+
+ def put(self, path, headers=None, body=None):
+ return self.request('PUT', path=path, headers=headers, body=body)
+
class TestCase(unittest.TestCase):
def assertDictEquals(self, expected, actual):