Updates to Inventory object
[apex.git] / apex / tests / test_apex_inventory.py
index cca8068..7197946 100644 (file)
@@ -15,8 +15,11 @@ from nose.tools import (
     assert_raises)
 
 from apex import Inventory
-from apex.inventory.inventory import InventoryException
-from apex.tests.constants import TEST_CONFIG_DIR
+from apex.inventory.inventory import ApexInventoryException
+from apex.tests.constants import (
+    TEST_CONFIG_DIR,
+    TEST_DUMMY_CONFIG
+)
 
 inventory_files = ('intel_pod2_settings.yaml',
                    'nokia_pod1_settings.yaml',
@@ -40,28 +43,31 @@ class TestInventory:
     def teardown(self):
         """This method is run once after _each_ test method is executed"""
 
-    def test_init(self):
+    def test_inventory_baremetal(self):
         for f in inventory_files:
             i = Inventory(os.path.join(files_dir, f))
             assert_equal(i.dump_instackenv_json(), None)
+            i['nodes'][0]['arch'] = 'aarch64'
+            i = Inventory(i)
+            assert_equal(i['nodes'][0]['arch'], 'aarch64')
 
-        # test virtual
-        i = Inventory(i, virtual=True)
-        assert_equal(i.dump_instackenv_json(), None)
+    def test_inventory_invalid_ha_count(self):
+        assert_raises(ApexInventoryException, Inventory,
+                      os.path.join(TEST_DUMMY_CONFIG, 'inventory-virt.yaml'),
+                      virtual=True, ha=True)
 
-        # Remove nodes to violate HA node count
-        while len(i['nodes']) >= 5:
-            i['nodes'].pop()
-        assert_raises(InventoryException,
-                      Inventory, i)
+    def test_inventory_invalid_noha_count(self):
+        assert_raises(ApexInventoryException, Inventory,
+                      os.path.join(TEST_DUMMY_CONFIG,
+                                   'inventory-virt-1-node.yaml'),
+                      virtual=True, ha=False)
 
-        # Remove nodes to violate non-HA node count
-        while len(i['nodes']) >= 2:
-            i['nodes'].pop()
-        assert_raises(InventoryException,
-                      Inventory, i, ha=False)
+    def test_inventory_virtual(self):
+        i = Inventory(os.path.join(TEST_DUMMY_CONFIG, 'inventory-virt.yaml'),
+                      virtual=True, ha=False)
+        assert_equal(i.dump_instackenv_json(), None)
 
-    def test_exception(self):
-        e = InventoryException("test")
-        print(e)
-        assert_is_instance(e, InventoryException)
+    def test_get_node_counts(self):
+        i = Inventory(os.path.join(TEST_DUMMY_CONFIG, 'inventory-virt.yaml'),
+                      virtual=True, ha=False)
+        assert_equal(i.get_node_counts(), (1, 1))