add tests for CLI flags

This commit is contained in:
Kay Kurokawa 2017-06-05 16:17:19 -04:00 committed by Jack Robison
parent 9bf533fc73
commit a1c99594b3
2 changed files with 26 additions and 8 deletions

View file

@ -2501,22 +2501,25 @@ class Daemon(AuthJSONRPCServer):
defer.returnValue(response) defer.returnValue(response)
@defer.inlineCallbacks @defer.inlineCallbacks
def jsonrpc_cli_test_command(self, pos_arg, pos_args=[], pos_arg2=None, pos_arg3=None): @AuthJSONRPCServer.flags(a_arg='-a', b_arg='-b')
def jsonrpc_cli_test_command(self, pos_arg, pos_args=[], pos_arg2=None, pos_arg3=None,
a_arg=False, b_arg=False):
""" """
This command is only for testing the CLI argument parsing This command is only for testing the CLI argument parsing
Usage: Usage:
cli_test_command (<pos_arg> | --pos_arg=<pos_arg>) cli_test_command [-a] [-b] (<pos_arg> | --pos_arg=<pos_arg>)
[<pos_args>...] [--pos_arg2=<pos_arg2>] [<pos_args>...] [--pos_arg2=<pos_arg2>]
[--pos_arg3=<pos_arg3>] [--pos_arg3=<pos_arg3>]
Options: Options:
-a, --a_arg : a arg
-b, --b_arg : b arg
<pos_arg2>, --pos_arg2=<pos_arg2> : pos arg 2 <pos_arg2>, --pos_arg2=<pos_arg2> : pos arg 2
<pos_arg3>, --pos_arg3=<pos_arg3> : pos arg 3 <pos_arg3>, --pos_arg3=<pos_arg3> : pos arg 3
Returns: Returns:
pos args pos args
""" """
out = (pos_arg, pos_args, pos_arg2, pos_arg3) out = (pos_arg, pos_args, pos_arg2, pos_arg3, a_arg, b_arg)
response = yield self._render_response(out) response = yield self._render_response(out)
defer.returnValue(response) defer.returnValue(response)

View file

@ -77,21 +77,36 @@ class TestIntegration(unittest.TestCase):
out,err = lbrynet_cli(['cli_test_command','1']) out,err = lbrynet_cli(['cli_test_command','1'])
out = json.loads(out) out = json.loads(out)
self.assertEqual([1,[],None,None], out) self.assertEqual([1,[],None,None,False,False], out)
out,err = lbrynet_cli(['cli_test_command','1','--pos_arg2=1']) out,err = lbrynet_cli(['cli_test_command','1','--pos_arg2=1'])
out = json.loads(out) out = json.loads(out)
self.assertEqual([1,[],1,None], out) self.assertEqual([1,[],1,None,False,False], out)
out,err = lbrynet_cli(['cli_test_command','1', '--pos_arg2=2','--pos_arg3=3']) out,err = lbrynet_cli(['cli_test_command','1', '--pos_arg2=2','--pos_arg3=3'])
out = json.loads(out) out = json.loads(out)
self.assertEqual([1,[],2,3], out) self.assertEqual([1,[],2,3,False,False], out)
out,err = lbrynet_cli(['cli_test_command','1','2','3']) out,err = lbrynet_cli(['cli_test_command','1','2','3'])
out = json.loads(out) out = json.loads(out)
# TODO: variable length arguments don't have guess_type() on them # TODO: variable length arguments don't have guess_type() on them
self.assertEqual([1,['2','3'],None,None], out) self.assertEqual([1,['2','3'],None,None,False,False], out)
out,err = lbrynet_cli(['cli_test_command','1','-a'])
out = json.loads(out)
self.assertEqual([1,[],None,None,True,False], out)
out,err = lbrynet_cli(['cli_test_command','1','--a_arg'])
out = json.loads(out)
self.assertEqual([1,[],None,None,True,False], out)
out,err = lbrynet_cli(['cli_test_command','1','-a','-b'])
out = json.loads(out)
self.assertEqual([1,[],None,None,True,True], out)
def test_status(self): def test_status(self):