This commit is contained in:
Edward Hope-Morley 2014-11-09 12:58:04 +00:00
parent e328ba4054
commit 1e730ad6ce
2 changed files with 19 additions and 19 deletions

View File

@ -29,12 +29,12 @@ def process_requests(reqs):
This is a versioned api. We choose the api version based on provided
version from client.
"""
version = reqs.get('version')
version = reqs.get('api-version')
if version == 1:
return process_requests_v1(reqs['ops'])
msg = ("Missing or invalid api version (%s)" % (version))
return {'exit_code': 1, 'stderr': msg}
return {'exit-code': 1, 'stderr': msg}
def process_requests_v1(reqs):
@ -53,7 +53,7 @@ def process_requests_v1(reqs):
# Use admin client since we do not have other client key locations
# setup to use them for these operations.
svc = 'admin'
if op == "create_pool":
if op == "create-pool":
params = {'pool': req.get('name'),
'replicas': req.get('replicas')}
if not all(params.iteritems()):
@ -61,7 +61,7 @@ def process_requests_v1(reqs):
(' '.join([k for k in params.iterkeys()
if not params[k]])))
log(msg, level=ERROR)
return {'exit_code': 1, 'stderr': msg}
return {'exit-code': 1, 'stderr': msg}
pool = params['pool']
replicas = params['replicas']
@ -75,6 +75,6 @@ def process_requests_v1(reqs):
else:
msg = "Unknown operation '%s'" % (op)
log(msg, level=ERROR)
return {'exit_code': 1, 'stderr': msg}
return {'exit-code': 1, 'stderr': msg}
return {'exit_code': 0}
return {'exit-code': 0}

View File

@ -12,33 +12,33 @@ class CephBrokerTestCase(unittest.TestCase):
@mock.patch('ceph_broker.log')
def test_process_requests_noop(self, mock_log):
req = json.dumps({'version': 1, 'ops': []})
req = json.dumps({'api-version': 1, 'ops': []})
rc = ceph_broker.process_requests(req)
self.assertEqual(json.loads(rc), {'exit_code': 0})
self.assertEqual(json.loads(rc), {'exit-code': 0})
@mock.patch('ceph_broker.log')
def test_process_requests_missing_api_version(self, mock_log):
req = json.dumps({'ops': []})
rc = ceph_broker.process_requests(req)
self.assertEqual(json.loads(rc), {'exit_code': 1,
self.assertEqual(json.loads(rc), {'exit-code': 1,
'stderr':
('Missing or invalid api version '
'(None)')})
@mock.patch('ceph_broker.log')
def test_process_requests_invalid_api_version(self, mock_log):
req = json.dumps({'version': 2, 'ops': []})
req = json.dumps({'api-version': 2, 'ops': []})
rc = ceph_broker.process_requests(req)
self.assertEqual(json.loads(rc),
{'exit_code': 1,
{'exit-code': 1,
'stderr': 'Missing or invalid api version (2)'})
@mock.patch('ceph_broker.log')
def test_process_requests_invalid(self, mock_log):
reqs = json.dumps({'version': 1, 'ops': [{'op': 'invalid_op'}]})
reqs = json.dumps({'api-version': 1, 'ops': [{'op': 'invalid_op'}]})
rc = ceph_broker.process_requests(reqs)
self.assertEqual(json.loads(rc),
{'exit_code': 1,
{'exit-code': 1,
'stderr': "Unknown operation 'invalid_op'"})
@mock.patch('ceph_broker.create_pool')
@ -47,14 +47,14 @@ class CephBrokerTestCase(unittest.TestCase):
def test_process_requests_create_pool(self, mock_log, mock_pool_exists,
mock_create_pool):
mock_pool_exists.return_value = False
reqs = json.dumps({'version': 1,
'ops': [{'op': 'create_pool', 'name':
reqs = json.dumps({'api-version': 1,
'ops': [{'op': 'create-pool', 'name':
'foo', 'replicas': 3}]})
rc = ceph_broker.process_requests(reqs)
mock_pool_exists.assert_called_with(service='admin', name='foo')
mock_create_pool.assert_called_with(service='admin', name='foo',
replicas=3)
self.assertEqual(json.loads(rc), {'exit_code': 0})
self.assertEqual(json.loads(rc), {'exit-code': 0})
@mock.patch('ceph_broker.create_pool')
@mock.patch('ceph_broker.pool_exists')
@ -63,10 +63,10 @@ class CephBrokerTestCase(unittest.TestCase):
mock_pool_exists,
mock_create_pool):
mock_pool_exists.return_value = True
reqs = json.dumps({'version': 1,
'ops': [{'op': 'create_pool', 'name': 'foo',
reqs = json.dumps({'api-version': 1,
'ops': [{'op': 'create-pool', 'name': 'foo',
'replicas': 3}]})
rc = ceph_broker.process_requests(reqs)
mock_pool_exists.assert_called_with(service='admin', name='foo')
self.assertFalse(mock_create_pool.called)
self.assertEqual(json.loads(rc), {'exit_code': 0})
self.assertEqual(json.loads(rc), {'exit-code': 0})