Skip to content

Commit 9e8960b

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Fix network segment range "_get_ranges" function"
2 parents 6d89d78 + 27da238 commit 9e8960b

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

openstackclient/network/v2/network_segment_range.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from osc_lib.command import command
2424
from osc_lib import exceptions
2525
from osc_lib import utils
26-
import six
2726

2827
from openstackclient.i18n import _
2928
from openstackclient.identity import common as identity_common
@@ -42,7 +41,7 @@ def _get_columns(item):
4241

4342

4443
def _get_ranges(item):
45-
item = [int(i) if isinstance(i, six.string_types) else i for i in item]
44+
item = sorted([int(i) for i in item])
4645
for a, b in itertools.groupby(enumerate(item), lambda xy: xy[1] - xy[0]):
4746
b = list(b)
4847
yield "%s-%s" % (b[0][1], b[-1][1]) if b[0][1] != b[-1][1] else \

openstackclient/tests/unit/network/v2/test_network_segment_range.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,20 @@
2424
from openstackclient.tests.unit import utils as tests_utils
2525

2626

27+
class TestAuxiliaryFunctions(tests_utils.TestCase):
28+
29+
def test__get_ranges(self):
30+
input_reference = [
31+
([1, 2, 3, 4, 5, 6, 7], ['1-7']),
32+
([1, 2, 5, 4, 3, 6, 7], ['1-7']),
33+
([1, 2, 4, 3, 7, 6], ['1-4', '6-7']),
34+
([1, 2, 4, 3, '13', 12, '7', '6'], ['1-4', '6-7', '12-13'])
35+
]
36+
for input, reference in input_reference:
37+
self.assertEqual(reference,
38+
list(network_segment_range._get_ranges(input)))
39+
40+
2741
class TestNetworkSegmentRange(network_fakes.TestNetworkV2):
2842

2943
def setUp(self):

0 commit comments

Comments
 (0)