Commit ddd58226 by Michael Scherer

increase test coverage of inventory by around 5% according to nose

parent 7ac3bbc1
import os import os
import unittest import unittest
from nose.tools import raises
from ansible import errors
from ansible.inventory import Inventory from ansible.inventory import Inventory
class TestInventory(unittest.TestCase): class TestInventory(unittest.TestCase):
...@@ -65,6 +67,16 @@ class TestInventory(unittest.TestCase): ...@@ -65,6 +67,16 @@ class TestInventory(unittest.TestCase):
hosts = inventory.list_hosts('all') hosts = inventory.list_hosts('all')
self.assertEqual(sorted(hosts), sorted(self.all_simple_hosts)) self.assertEqual(sorted(hosts), sorted(self.all_simple_hosts))
def test_get_hosts(self):
inventory = Inventory('127.0.0.1,192.168.1.1')
hosts = inventory.get_hosts('!10.0.0.1')
hosts_all = inventory.get_hosts('all')
self.assertEqual(sorted(hosts), sorted(hosts_all))
def test_no_src(self):
inventory = Inventory('127.0.0.1,')
self.assertEqual(inventory.src(), None)
def test_simple_norse(self): def test_simple_norse(self):
inventory = self.simple_inventory() inventory = self.simple_inventory()
hosts = inventory.list_hosts("norse") hosts = inventory.list_hosts("norse")
...@@ -170,6 +182,20 @@ class TestInventory(unittest.TestCase): ...@@ -170,6 +182,20 @@ class TestInventory(unittest.TestCase):
hosts = inventory.list_hosts() hosts = inventory.list_hosts()
self.assertEqual(sorted(hosts), sorted('bob%03i' %i for i in range(0, 143))) self.assertEqual(sorted(hosts), sorted('bob%03i' %i for i in range(0, 143)))
def test_subset(self):
inventory = self.simple_inventory()
inventory.subset('odin;thor,loki')
self.assertEqual(sorted(inventory.list_hosts()), sorted(['thor','odin','loki']))
def test_subset_filename(self):
inventory = self.simple_inventory()
inventory.subset('@' + os.path.join(self.test_dir, 'restrict_pattern'))
self.assertEqual(sorted(inventory.list_hosts()), sorted(['thor','odin']))
@raises(errors.AnsibleError)
def testinvalid_entry(self):
Inventory('1234')
################################################### ###################################################
### INI file advanced tests ### INI file advanced tests
...@@ -227,7 +253,8 @@ class TestInventory(unittest.TestCase): ...@@ -227,7 +253,8 @@ class TestInventory(unittest.TestCase):
inventory = self.complex_inventory() inventory = self.complex_inventory()
print "ALL NC=%s" % inventory.list_hosts("nc") print "ALL NC=%s" % inventory.list_hosts("nc")
hosts = inventory.list_hosts("nc[0-1]") # use "-1" instead of 0-1 to test the syntax, on purpose
hosts = inventory.list_hosts("nc[-1]")
self.compare(hosts, expected1, sort=False) self.compare(hosts, expected1, sort=False)
hosts = inventory.list_hosts("nc[2-3]") hosts = inventory.list_hosts("nc[2-3]")
self.compare(hosts, expected2, sort=False) self.compare(hosts, expected2, sort=False)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment