Add basic tests for expand_hostname_range

pull/12570/head
Abhijit Menon-Sen 9 years ago
parent 838e71edb7
commit d100db837b

@ -26,6 +26,7 @@ from ansible.compat.tests.mock import patch, MagicMock
from ansible.errors import AnsibleError, AnsibleParserError from ansible.errors import AnsibleError, AnsibleParserError
from ansible.inventory import Inventory from ansible.inventory import Inventory
from ansible.inventory.expand_hosts import expand_hostname_range
from ansible.vars import VariableManager from ansible.vars import VariableManager
from units.mock.loader import DictDataLoader from units.mock.loader import DictDataLoader
@ -71,6 +72,16 @@ class TestInventory(unittest.TestCase):
'a[1:]': [('a', (1, -1)), list(string.ascii_letters[1:])], 'a[1:]': [('a', (1, -1)), list(string.ascii_letters[1:])],
} }
ranges_to_expand = {
'a[1:2]': ['a1', 'a2'],
'a[1:10:2]': ['a1', 'a3', 'a5', 'a7', 'a9'],
'a[a:b]': ['aa', 'ab'],
'a[a:i:3]': ['aa', 'ad', 'ag'],
'a[a:b][c:d]': ['aac', 'aad', 'abc', 'abd'],
'a[0:1][2:3]': ['a02', 'a03', 'a12', 'a13'],
'a[a:b][2:3]': ['aa2', 'aa3', 'ab2', 'ab3'],
}
def setUp(self): def setUp(self):
v = VariableManager() v = VariableManager()
fake_loader = DictDataLoader({}) fake_loader = DictDataLoader({})
@ -98,3 +109,9 @@ class TestInventory(unittest.TestCase):
r[0][1] r[0][1]
) )
) )
def test_expand_hostname_range(self):
for e in self.ranges_to_expand:
r = self.ranges_to_expand[e]
self.assertEqual(r, expand_hostname_range(e))

Loading…
Cancel
Save