From 624c03bf1fd2b4c31ce742b6ed6ffc358119427b Mon Sep 17 00:00:00 2001
From: Daira Hopwood <david-sarah@jacaranda.org>
Date: Thu, 16 May 2013 19:29:22 +0100
Subject: [PATCH] Help for admin commands: cosmetics and new tests.

Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
---
 src/allmydata/scripts/admin.py |  8 +++-----
 src/allmydata/test/test_cli.py | 16 ++++++++++++++--
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/allmydata/scripts/admin.py b/src/allmydata/scripts/admin.py
index 092d90a9..627792f7 100644
--- a/src/allmydata/scripts/admin.py
+++ b/src/allmydata/scripts/admin.py
@@ -4,13 +4,12 @@ from allmydata.scripts.common import BaseOptions
 
 class GenerateKeypairOptions(BaseOptions):
     def getSynopsis(self):
-        return "Usage: tahoe [global-opts] admin generate-keypair"
+        return "Usage: %s [global-opts] admin generate-keypair" % (self.command_name,)
 
     def getUsage(self, width=None):
         t = BaseOptions.getUsage(self, width)
         t += """
-Generate a public/private keypair, dumped to stdout as two lines of ASCII..
-
+Generate a public/private keypair, dumped to stdout as two lines of ASCII.
 """
         return t
 
@@ -26,14 +25,13 @@ class DerivePubkeyOptions(BaseOptions):
         self.privkey = privkey
 
     def getSynopsis(self):
-        return "Usage: tahoe [global-opts] admin derive-pubkey PRIVKEY"
+        return "Usage: %s [global-opts] admin derive-pubkey PRIVKEY" % (self.command_name,)
 
     def getUsage(self, width=None):
         t = BaseOptions.getUsage(self, width)
         t += """
 Given a private (signing) key that was previously generated with
 generate-keypair, derive the public key and print it to stdout.
-
 """
         return t
 
diff --git a/src/allmydata/test/test_cli.py b/src/allmydata/test/test_cli.py
index 0754bd6c..4cf75400 100644
--- a/src/allmydata/test/test_cli.py
+++ b/src/allmydata/test/test_cli.py
@@ -16,10 +16,10 @@ import allmydata.scripts.common_http
 from pycryptopp.publickey import ed25519
 
 # Test that the scripts can be imported.
-from allmydata.scripts import create_node, debug, keygen, startstop_node, \
+from allmydata.scripts import create_node, admin, debug, keygen, startstop_node, \
     tahoe_add_alias, tahoe_backup, tahoe_check, tahoe_cp, tahoe_get, tahoe_ls, \
     tahoe_manifest, tahoe_mkdir, tahoe_mv, tahoe_put, tahoe_unlink, tahoe_webopen
-_hush_pyflakes = [create_node, debug, keygen, startstop_node,
+_hush_pyflakes = [create_node, admin, debug, keygen, startstop_node,
     tahoe_add_alias, tahoe_backup, tahoe_check, tahoe_cp, tahoe_get, tahoe_ls,
     tahoe_manifest, tahoe_mkdir, tahoe_mv, tahoe_put, tahoe_unlink, tahoe_webopen]
 
@@ -602,6 +602,18 @@ class Help(unittest.TestCase):
             subhelp = str(oClass())
             self.failUnlessIn(" [global-opts] debug flogtool %s " % (option,), subhelp)
 
+    def test_create_admin(self):
+        help = str(admin.AdminCommand())
+        self.failUnlessIn(" [global-opts] admin SUBCOMMAND", help)
+
+    def test_create_admin_generate_keypair(self):
+        help = str(admin.GenerateKeypairOptions())
+        self.failUnlessIn(" [global-opts] admin generate-keypair", help)
+
+    def test_create_admin_derive_pubkey(self):
+        help = str(admin.DerivePubkeyOptions())
+        self.failUnlessIn(" [global-opts] admin derive-pubkey", help)
+
 
 class Ln(GridTestMixin, CLITestMixin, unittest.TestCase):
     def _create_test_file(self):
-- 
2.45.2