jsonrpc: Explain why call to private method failed

This commit is contained in:
Stein Magnus Jodal 2012-11-25 21:13:55 +01:00
parent 253695222b
commit 609fdc46ca
2 changed files with 4 additions and 2 deletions

View File

@ -206,9 +206,10 @@ class JsonRpcWrapper(object):
mount, method_name = method_path.rsplit('.', 1)
else:
mount, method_name = '', method_path
if method_name.startswith('_'):
raise JsonRpcMethodNotFoundError(
data='Private methods are not exported')
try:
if method_name.startswith('_'):
raise AttributeError
obj = self.objects[mount]
return getattr(obj, method_name)
except (AttributeError, KeyError):

View File

@ -405,6 +405,7 @@ class JsonRpcSingleCommandErrorTest(JsonRpcTestBase):
error = response['error']
self.assertEqual(error['code'], -32601)
self.assertEqual(error['message'], 'Method not found')
self.assertEqual(error['data'], 'Private methods are not exported')
def test_invalid_params_causes_invalid_params_error(self):
request = {