summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-03-23 21:41:45 +0000
committerGerrit Code Review <review@openstack.org>2020-03-23 21:41:45 +0000
commit9e8960bad044d62f0d255018c501b6b637c4b3c1 (patch)
tree61d4e194a86855e48f135f3189c4926979ce2c77
parent6d89d78daa5862337dcf0633a3c0a93bb2826c2e (diff)
parent27da238da2f9a8b35082d06624313a844cb6cc6f (diff)
downloadpython-openstackclient-9e8960bad044d62f0d255018c501b6b637c4b3c1.tar.gz
Merge "Fix network segment range "_get_ranges" function"
-rw-r--r--openstackclient/network/v2/network_segment_range.py3
-rw-r--r--openstackclient/tests/unit/network/v2/test_network_segment_range.py14
2 files changed, 15 insertions, 2 deletions
diff --git a/openstackclient/network/v2/network_segment_range.py b/openstackclient/network/v2/network_segment_range.py
index 2cdae642..b38c72c2 100644
--- a/openstackclient/network/v2/network_segment_range.py
+++ b/openstackclient/network/v2/network_segment_range.py
@@ -23,7 +23,6 @@ from osc_lib.cli import format_columns
from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
-import six
from openstackclient.i18n import _
from openstackclient.identity import common as identity_common
@@ -42,7 +41,7 @@ def _get_columns(item):
def _get_ranges(item):
- item = [int(i) if isinstance(i, six.string_types) else i for i in item]
+ item = sorted([int(i) for i in item])
for a, b in itertools.groupby(enumerate(item), lambda xy: xy[1] - xy[0]):
b = list(b)
yield "%s-%s" % (b[0][1], b[-1][1]) if b[0][1] != b[-1][1] else \
diff --git a/openstackclient/tests/unit/network/v2/test_network_segment_range.py b/openstackclient/tests/unit/network/v2/test_network_segment_range.py
index 89a0c223..b60f1710 100644
--- a/openstackclient/tests/unit/network/v2/test_network_segment_range.py
+++ b/openstackclient/tests/unit/network/v2/test_network_segment_range.py
@@ -24,6 +24,20 @@ from openstackclient.tests.unit.network.v2 import fakes as network_fakes
from openstackclient.tests.unit import utils as tests_utils
+class TestAuxiliaryFunctions(tests_utils.TestCase):
+
+ def test__get_ranges(self):
+ input_reference = [
+ ([1, 2, 3, 4, 5, 6, 7], ['1-7']),
+ ([1, 2, 5, 4, 3, 6, 7], ['1-7']),
+ ([1, 2, 4, 3, 7, 6], ['1-4', '6-7']),
+ ([1, 2, 4, 3, '13', 12, '7', '6'], ['1-4', '6-7', '12-13'])
+ ]
+ for input, reference in input_reference:
+ self.assertEqual(reference,
+ list(network_segment_range._get_ranges(input)))
+
+
class TestNetworkSegmentRange(network_fakes.TestNetworkV2):
def setUp(self):