63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
import tornado.gen
|
|
from tornado.httpclient import HTTPRequest, HTTPResponse
|
|
|
|
from atst.api_client import ApiClient
|
|
|
|
|
|
class MockApiClient(ApiClient):
|
|
def __init__(self, service):
|
|
self.service = service
|
|
|
|
@tornado.gen.coroutine
|
|
def get(self, path, **kwargs):
|
|
return self._get_response('GET', path)
|
|
|
|
@tornado.gen.coroutine
|
|
def put(self, path, **kwargs):
|
|
return self._get_response('PUT', path)
|
|
|
|
@tornado.gen.coroutine
|
|
def patch(self, path, **kwargs):
|
|
return self._get_response('PATCH', path)
|
|
|
|
@tornado.gen.coroutine
|
|
def post(self, path, **kwargs):
|
|
return self._get_response('POST', path)
|
|
|
|
@tornado.gen.coroutine
|
|
def delete(self, path, **kwargs):
|
|
return self._get_response('DELETE', path)
|
|
|
|
def _get_response(self, verb, path, code=200, json=None):
|
|
response = HTTPResponse(
|
|
request=HTTPRequest(path, verb),
|
|
code=code,
|
|
headers={'Content-Type': 'application/json'})
|
|
|
|
setattr(response, 'ok', 200 <= code < 300)
|
|
if json:
|
|
setattr(response, 'json', json)
|
|
|
|
return response
|
|
|
|
|
|
class MockRequestsClient(MockApiClient):
|
|
@tornado.gen.coroutine
|
|
def get(self, path, **kwargs):
|
|
json = {
|
|
'id': '66b8ef71-86d3-48ef-abc2-51bfa1732b6b',
|
|
'creator': '49903ae7-da4a-49bf-a6dc-9dff5d004238',
|
|
'body': {}
|
|
}
|
|
return self._get_response('GET', path, 200, json=json)
|
|
|
|
@tornado.gen.coroutine
|
|
def post(self, path, **kwargs):
|
|
json = {
|
|
'id': '66b8ef71-86d3-48ef-abc2-51bfa1732b6b',
|
|
'creator': '49903ae7-da4a-49bf-a6dc-9dff5d004238',
|
|
'body': {}
|
|
}
|
|
return self._get_response('POST', path, 202, json=json)
|
|
|