Sleepy time WIP almost got invite's mkdir working...
authorDavid Stainton <dstainton415@gmail.com>
Fri, 19 Jun 2015 09:50:49 +0000 (02:50 -0700)
committerDaira Hopwood <daira@jacaranda.org>
Wed, 30 Sep 2015 15:45:22 +0000 (16:45 +0100)
src/allmydata/scripts/magic_folder_cli.py
src/allmydata/test/test_cli_magic_folder.py

index 6eb7b43f41b72731e8bd29246239c54a113a29d3..993c1c4a49dbe71b75087ccac5705075a1392808 100644 (file)
@@ -3,7 +3,8 @@ import os
 
 from twisted.python import usage, failure
 from allmydata.scripts.common import BaseOptions
-from .common import BaseOptions, BasedirOptions
+from .common import BaseOptions, BasedirOptions, get_aliases
+from .cli import MakeDirectoryOptions
 
 class CreateOptions(BasedirOptions):
     nickname = None
@@ -25,10 +26,32 @@ def create(options):
     return rc
 
 class InviteOptions(BasedirOptions):
-    pass
+    nickname = None
+    synopsis = "MAGIC_ALIAS: NICKNAME"
+    def parseArgs(self, alias, nickname=None):
+        BasedirOptions.parseArgs(self)
+        print "InviteOptions parseArgs() alias %s nickname %s" % (alias, nickname,)
+        self.alias = alias
+        self.nickname = nickname
+        node_url_file = os.path.join(self['node-directory'], "node.url")
+        self['node-url'] = open(node_url_file, "r").read().strip()
+
+        aliases = get_aliases(self['node-directory'])
+        print "ALIASES %s" % (aliases,)
+        self.aliases = aliases
 
 def invite(options):
-    pass
+    from allmydata.scripts import tahoe_mkdir
+    mkdirOptions = MakeDirectoryOptions()
+    mkdirOptions.where = options.nickname
+    mkdirOptions.stdout = options.stdout
+    mkdirOptions.stdin = options.stdin
+    mkdirOptions.stderr = options.stderr
+    mkdirOptions['node-url'] = options['node-url']
+    mkdirOptions.aliases = options.aliases
+    mkdirOptions['node-directory'] = options['node-directory']
+    rc = tahoe_mkdir.mkdir(mkdirOptions)
+    return rc
 
 class JoinOptions(BasedirOptions):
     pass
index 1695b63369f77c055fd85c6ab42bc984dab8161e..c6df73f5dd0247c4b0e105e25576bb1e7ad39a41 100644 (file)
@@ -13,10 +13,7 @@ from .test_cli import CLITestMixin
 
 class CreateMagicFolder(GridTestMixin, CLITestMixin, unittest.TestCase):
 
-    def test_create(self):
-        self.basedir = "cli/MagicFolder/create"
-        self.set_up_grid()
-
+    def _create_magic_folder(self):
         d = self.do_cli("magic-folder", "create", "my_magic_folder")
         def _done((rc,stdout,stderr)):
             self.failUnless("Alias 'my_magic_folder' created" in stdout)
@@ -26,4 +23,19 @@ class CreateMagicFolder(GridTestMixin, CLITestMixin, unittest.TestCase):
             self.failUnless(aliases["my_magic_folder"].startswith("URI:DIR2:"))
         d.addCallback(_done)
         return d
-# XXX more stuff ...
+
+    def test_create(self):
+        self.basedir = "cli/MagicFolder/create"
+        self.set_up_grid()
+        return self._create_magic_folder()
+
+    def _invite(self, ignore):
+        d = self.do_cli("magic-folder", "invite", "magicFolder1", "Nicki")
+        return d
+
+    def test_invite(self):
+        self.basedir = "cli/MagicFolder/invite"
+        self.set_up_grid()
+        d = self._create_magic_folder()
+        d.addCallback(self._invite)
+        return d