Merge pull request #3138 from govind-menon/STORM-3520

STORM-3520: Fixes drpc-client function argument validation in Storm CLI
diff --git a/bin/storm.py b/bin/storm.py
index 3562953..16ddb95 100755
--- a/bin/storm.py
+++ b/bin/storm.py
@@ -588,7 +588,7 @@
         "list", help="lists blobs currently in the blob store", formatter_class=SortingHelpFormatter
     )
     list_parser.add_argument(
-        "keys", nargs='+')
+        "keys", nargs='*')
     add_common_options(list_parser, main_args=False)
 
     cat_parser = sub_sub_parsers.add_parser(
diff --git a/storm-client/test/py/test_storm_cli.py b/storm-client/test/py/test_storm_cli.py
index 89d8427..bf5001c 100644
--- a/storm-client/test/py/test_storm_cli.py
+++ b/storm-client/test/py/test_storm_cli.py
@@ -177,6 +177,20 @@
         self.mock_execvp.reset_mock()
 
         self.base_test([
+            'storm', 'blobstore', 'list'
+        ], self.mock_execvp, mock.call(
+            self.java_cmd, [
+                self.java_cmd, '-client', '-Ddaemon.name=', '-Dstorm.options=',
+                '-Dstorm.home=' + self.storm_dir + '',
+                '-Dstorm.log.dir=' + self.storm_dir + "/logs", '-Djava.library.path=',
+                '-Dstorm.conf.file=', '-cp',
+                '' + self.storm_dir + '/*:' + self.storm_dir + '/lib:' + self.storm_dir +
+                '/extlib:' + self.storm_dir + '/extlib-daemon:' + self.storm_dir + '/conf:' +
+                self.storm_dir + '/bin', 'org.apache.storm.command.Blobstore', 'list'])
+        )
+        self.mock_execvp.reset_mock()
+
+        self.base_test([
             'storm', 'blobstore', 'list', 'wordstotrack'
         ], self.mock_execvp, mock.call(
             self.java_cmd, [