From a200e5007e0b0ba5b88a3555dea5600a1915701c Mon Sep 17 00:00:00 2001 From: termie Date: Tue, 11 Oct 2011 15:11:27 -0700 Subject: add a test client --- keystonelight/test.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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): -- cgit