From 2e96671a48c990f4b36fd71283db69fa16b05bc0 Mon Sep 17 00:00:00 2001
From: David Stainton <dstainton415@gmail.com>
Date: Mon, 22 Jun 2015 15:09:57 -0700
Subject: [PATCH] Fix options passed to mkdir from magic invite

- here we also clean up the magic folder cli unit tests
---
 src/allmydata/scripts/magic_folder_cli.py   | 30 ++++++++++++---------
 src/allmydata/test/test_cli_magic_folder.py | 19 +++++--------
 2 files changed, 24 insertions(+), 25 deletions(-)

diff --git a/src/allmydata/scripts/magic_folder_cli.py b/src/allmydata/scripts/magic_folder_cli.py
index 993c1c4a..efc5e0b4 100644
--- a/src/allmydata/scripts/magic_folder_cli.py
+++ b/src/allmydata/scripts/magic_folder_cli.py
@@ -1,11 +1,13 @@
 
 import os
-
+from cStringIO import StringIO
 from twisted.python import usage, failure
+
 from allmydata.scripts.common import BaseOptions
 from .common import BaseOptions, BasedirOptions, get_aliases
 from .cli import MakeDirectoryOptions
 
+
 class CreateOptions(BasedirOptions):
     nickname = None
     localdir = None
@@ -28,29 +30,31 @@ def create(options):
 class InviteOptions(BasedirOptions):
     nickname = None
     synopsis = "MAGIC_ALIAS: NICKNAME"
+    stdin = StringIO("")
     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):
     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)
+    mkdir_options = MakeDirectoryOptions()
+    mkdir_options.where = "%s:%s" % (options.alias, options.nickname)
+    mkdir_options.stdout = options.stdout
+    mkdir_options.stdin = options.stdin
+    mkdir_options.stderr = options.stderr
+    mkdir_options['node-url'] = options['node-url']
+    mkdir_options.aliases = options.aliases
+    mkdir_options['node-directory'] = options['node-directory']
+    rc = tahoe_mkdir.mkdir(mkdir_options)
+    if rc != 0:
+        return rc
+    write_capability = mkdir_options.stdout.getvalue().strip()
+    print "\nNEW write cap %s" % (write_capability,)
     return rc
 
 class JoinOptions(BasedirOptions):
diff --git a/src/allmydata/test/test_cli_magic_folder.py b/src/allmydata/test/test_cli_magic_folder.py
index c6df73f5..684e1c91 100644
--- a/src/allmydata/test/test_cli_magic_folder.py
+++ b/src/allmydata/test/test_cli_magic_folder.py
@@ -14,27 +14,22 @@ from .test_cli import CLITestMixin
 class CreateMagicFolder(GridTestMixin, CLITestMixin, unittest.TestCase):
 
     def _create_magic_folder(self):
-        d = self.do_cli("magic-folder", "create", "my_magic_folder")
+        d = self.do_cli("magic-folder", "create", "magic")
         def _done((rc,stdout,stderr)):
-            self.failUnless("Alias 'my_magic_folder' created" in stdout)
+            self.failUnless("Alias 'magic' created" in stdout)
             self.failIf(stderr)
             aliases = get_aliases(self.get_clientdir())
-            self.failUnless("my_magic_folder" in aliases)
-            self.failUnless(aliases["my_magic_folder"].startswith("URI:DIR2:"))
+            self.failUnless("magic" in aliases)
+            self.failUnless(aliases["magic"].startswith("URI:DIR2:"))
         d.addCallback(_done)
         return d
 
-    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")
+        d = self.do_cli("magic-folder", "invite", "magic", u"Alice:")
         return d
 
-    def test_invite(self):
-        self.basedir = "cli/MagicFolder/invite"
+    def test_create_invite_join(self):
+        self.basedir = "cli/MagicFolder/create-invite-join"
         self.set_up_grid()
         d = self._create_magic_folder()
         d.addCallback(self._invite)
-- 
2.45.2