From 24afb2f975817bf26d74e096e8430e4d5d8141e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Armando=20Garc=C3=ADa=20Sancio?= Date: Wed, 4 Jan 2017 11:54:13 -0800 Subject: [PATCH] package: sort packages by release version (#859) --- .../json/test_describe_kafka_package_versions.json | 4 ++++ .../json/test_describe_marathon_package_versions.json | 3 --- cli/tests/integrations/test_package.py | 4 ++-- dcos/cosmospackage.py | 9 ++++++++- 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 cli/tests/data/package/json/test_describe_kafka_package_versions.json delete mode 100644 cli/tests/data/package/json/test_describe_marathon_package_versions.json diff --git a/cli/tests/data/package/json/test_describe_kafka_package_versions.json b/cli/tests/data/package/json/test_describe_kafka_package_versions.json new file mode 100644 index 0000000..592a522 --- /dev/null +++ b/cli/tests/data/package/json/test_describe_kafka_package_versions.json @@ -0,0 +1,4 @@ +[ + "0.9.4.0", + "0.9.2.0" +] diff --git a/cli/tests/data/package/json/test_describe_marathon_package_versions.json b/cli/tests/data/package/json/test_describe_marathon_package_versions.json deleted file mode 100644 index f4983d9..0000000 --- a/cli/tests/data/package/json/test_describe_marathon_package_versions.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "0.11.1" -] diff --git a/cli/tests/integrations/test_package.py b/cli/tests/integrations/test_package.py index 74e522e..06a2c06 100644 --- a/cli/tests/integrations/test_package.py +++ b/cli/tests/integrations/test_package.py @@ -220,9 +220,9 @@ def test_describe_package_version_missing(): def test_describe_package_versions(): stdout = file_bytes( - 'tests/data/package/json/test_describe_marathon_package_versions.json') + 'tests/data/package/json/test_describe_kafka_package_versions.json') assert_command( - ['dcos', 'package', 'describe', 'marathon', '--package-versions'], + ['dcos', 'package', 'describe', 'kafka', '--package-versions'], stdout=stdout) diff --git a/dcos/cosmospackage.py b/dcos/cosmospackage.py index f6bd10f..4f0e4fe 100644 --- a/dcos/cosmospackage.py +++ b/dcos/cosmospackage.py @@ -548,7 +548,14 @@ class CosmosPackageVersion(): response = Cosmos(self._cosmos_url).cosmos_post( "list-versions", params) - return list(response.json().get("results").keys()) + return list( + version for (version, releaseVersion) in + sorted( + response.json().get("results").items(), + key=lambda item: int(item[1]), # release version + reverse=True + ) + ) def _get_header(request_type, version):