71 lines
1.8 KiB
Python
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)
|