Files
python-glanceclient/tests/v1/utils.py
Brian Waldon 664f370677 Basic testing
2012-04-02 14:08:03 -07:00

71 lines
1.8 KiB
Python

fixtures = {
'/v1/images': {
'POST': (
{
'location': '/v1/images/1',
'x-image-meta-id': '1',
'x-image-meta-name': 'image-1',
'x-image-meta-property-arch': 'x86_64',
},
None),
},
'/v1/images/detail': {
'GET': (
{},
{'images': [
{
'id': '1',
'name': 'image-1',
'properties': {'arch': 'x86_64'},
},
]},
),
},
'/v1/images/1': {
'HEAD': (
{
'x-image-meta-id': '1',
'x-image-meta-name': 'image-1',
'x-image-meta-property-arch': 'x86_64',
},
None),
'PUT': (
{
'x-image-meta-id': '1',
'x-image-meta-name': 'image-2',
'x-image-meta-property-arch': 'x86_64',
},
None),
'DELETE': ({}, None),
}
}
class FakeAPI(object):
def __init__(self):
self.calls = []
def _request(self, method, url, headers=None, body=None):
call = (method, url, headers or {}, body)
self.calls.append(call)
# drop any query params
url = url.split('?', 1)[0]
return fixtures[url][method]
def get(self, url):
return self._request('GET', url)
def head(self, url):
return self._request('HEAD', url)
def post(self, url, headers=None, body=None):
return self._request('POST', url, headers, body)
def put(self, url, headers=None, body=None):
return self._request('PUT', url, headers, body)
def delete(self, url):
return self._request('DELETE', url)