mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-23 18:50:24 +00:00
Eliminate near-duplicate code in CLITestMixin.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
8f3fe4dffe
commit
e61130395d
@ -48,11 +48,10 @@ def parse_options(basedir, command, args):
|
||||
return o
|
||||
|
||||
class CLITestMixin(ReallyEqualMixin):
|
||||
def do_cli_n(self, client_num, verb, *args, **kwargs):
|
||||
"""
|
||||
do_cli_n is used to execute client CLI commands when there is more
|
||||
than one client in the test grid... you can specify clients by number.
|
||||
"""
|
||||
def do_cli(self, verb, *args, **kwargs):
|
||||
# client_num is used to execute client CLI commands on a specific client.
|
||||
client_num = kwargs.get("client_num", 0)
|
||||
|
||||
nodeargs = [
|
||||
"--node-directory", self.get_clientdir(i=client_num),
|
||||
]
|
||||
@ -67,21 +66,6 @@ class CLITestMixin(ReallyEqualMixin):
|
||||
d.addCallback(_done)
|
||||
return d
|
||||
|
||||
def do_cli(self, verb, *args, **kwargs):
|
||||
nodeargs = [
|
||||
"--node-directory", self.get_clientdir(),
|
||||
]
|
||||
argv = nodeargs + [verb] + list(args)
|
||||
stdin = kwargs.get("stdin", "")
|
||||
stdout, stderr = StringIO(), StringIO()
|
||||
d = threads.deferToThread(runner.runner, argv, run_by_human=False,
|
||||
stdin=StringIO(stdin),
|
||||
stdout=stdout, stderr=stderr)
|
||||
def _done(rc):
|
||||
return rc, stdout.getvalue(), stderr.getvalue()
|
||||
d.addCallback(_done)
|
||||
return d
|
||||
|
||||
def skip_if_cannot_represent_filename(self, u):
|
||||
precondition(isinstance(u, unicode))
|
||||
|
||||
|
@ -17,7 +17,7 @@ from allmydata.frontends.magic_folder import MagicFolder
|
||||
class MagicFolderCLITestMixin(CLITestMixin, GridTestMixin):
|
||||
|
||||
def create_magic_folder(self, client_num):
|
||||
d = self.do_cli_n(client_num, "magic-folder", "create", "magic")
|
||||
d = self.do_cli("magic-folder", "create", "magic", client_num=client_num)
|
||||
def _done((rc,stdout,stderr)):
|
||||
self.failUnless(rc == 0)
|
||||
self.failUnless("Alias 'magic' created" in stdout)
|
||||
@ -29,7 +29,7 @@ class MagicFolderCLITestMixin(CLITestMixin, GridTestMixin):
|
||||
return d
|
||||
|
||||
def invite(self, client_num, nickname):
|
||||
d = self.do_cli_n(client_num, "magic-folder", "invite", u"magic", nickname)
|
||||
d = self.do_cli("magic-folder", "invite", u"magic", nickname, client_num=client_num)
|
||||
def _done((rc,stdout,stderr)):
|
||||
self.failUnless(rc == 0)
|
||||
return (rc,stdout,stderr)
|
||||
@ -38,7 +38,7 @@ class MagicFolderCLITestMixin(CLITestMixin, GridTestMixin):
|
||||
|
||||
def join(self, client_num, local_dir, invite_code):
|
||||
magic_readonly_cap, dmd_write_cap = invite_code.split(magic_folder_cli.INVITE_SEPERATOR)
|
||||
d = self.do_cli_n(client_num, "magic-folder", "join", invite_code, local_dir)
|
||||
d = self.do_cli("magic-folder", "join", invite_code, local_dir, client_num=client_num)
|
||||
def _done((rc,stdout,stderr)):
|
||||
self.failUnless(rc == 0)
|
||||
return (rc,stdout,stderr)
|
||||
@ -59,7 +59,7 @@ class MagicFolderCLITestMixin(CLITestMixin, GridTestMixin):
|
||||
our upload directory.
|
||||
"""
|
||||
collective_readonly_cap = fileutil.read(os.path.join(self.get_clientdir(i=client_num), "private/collective_dircap"))
|
||||
d = self.do_cli_n(client_num, "ls", "--json", collective_readonly_cap)
|
||||
d = self.do_cli("ls", "--json", collective_readonly_cap, client_num=client_num)
|
||||
def _done((rc,stdout,stderr)):
|
||||
self.failUnless(rc == 0)
|
||||
return (rc,stdout,stderr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user