From 8c1d8dd1edc998df0043d6b82ebbcdbeb32139a3 Mon Sep 17 00:00:00 2001 From: ytalashko Date: Mon, 13 Jul 2015 11:04:39 +0300 Subject: [PATCH] [ADD] DCOS-1699 message No packages found for query --- cli/dcoscli/package/main.py | 11 +++++++---- cli/tests/integrations/test_package.py | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/cli/dcoscli/package/main.py b/cli/dcoscli/package/main.py index 7fca5b9..d66e502 100644 --- a/cli/dcoscli/package/main.py +++ b/cli/dcoscli/package/main.py @@ -450,10 +450,13 @@ def _search(json_, query): results = [index_entry.as_dict() for index_entry in package.search(query, config)] - emitting.publish_table(emitter, - results, - tables.package_search_table, - json_) + if any(result['packages'] for result in results) or json_: + emitting.publish_table(emitter, + results, + tables.package_search_table, + json_) + else: + raise DCOSException('No packages found.') return 0 diff --git a/cli/tests/integrations/test_package.py b/cli/tests/integrations/test_package.py index b2121c3..0a5da27 100644 --- a/cli/tests/integrations/test_package.py +++ b/cli/tests/integrations/test_package.py @@ -566,6 +566,13 @@ def test_search(): version-1.x.zip"' in stdout assert stderr == b'' + returncode, stdout, stderr = exec_command( + ['dcos', 'package', 'search', 'xyzzy']) + + assert returncode == 1 + assert b'' == stdout + assert stderr == b'No packages found.\n' + returncode, stdout, stderr = exec_command( ['dcos', 'package', 'search', '--json'])