Add app name|uuid argument to "solum app logs"

The app logs command was listing every log for
every app; this patch adds an app argument to
filter by app.

Change-Id: Ia5429bd7680df8f5832c68eca1057db7ffe75a55
Closes-Bug: #1444043
This commit is contained in:
Ed Cranford
2015-04-14 11:31:39 -05:00
parent aa8cd29d7b
commit ae5c7c8fd0
2 changed files with 13 additions and 0 deletions

View File

@@ -612,11 +612,19 @@ Available commands:
self._print_list(plans, fields)
def logs(self):
"""Print a list of all logs belonging to a single app."""
self.parser.add_argument('app',
help="Application name")
self.parser._names['app'] = 'application'
args = self.parser.parse_args()
assemblies = self.client.assemblies.list()
all_logs_list = []
fields = ["resource_uuid", "created_at"]
for a in assemblies:
plan_uuid = a.plan_uri.split('/')[-1]
if args.app not in [plan_uuid, a.name]:
continue
loglist = cli_assem.AssemblyManager(self.client).logs(
assembly_id=str(a.uuid))

View File

@@ -337,6 +337,11 @@ class TestSolum(base.TestCase):
out = self.shell("app create --plan-file /dev/null")
self.assertEqual("ERROR: Artifact content missing\n", out)
def test_app_logs_need_an_identifier(self):
self.make_env()
out = self.shell("app logs")
self.assertEqual("ERROR: You must specify an application.\n", out)
# Plan Tests #
@mock.patch.object(plan.PlanManager, "create")
def test_plan_create(self, mock_plan_create):