##
import os
import unittest
-
import yaml
from osm_policy_module.utils.vnfd import VnfdUtils
+from osm_policy_module.core.exceptions import ManagementVduNotFound
class VnfdUtilsTest(unittest.TestCase):
- def test_get_mgmt_vdu_by_cp(self):
- with open(
- os.path.join(os.path.dirname(__file__), 'examples/cirros_vdu_scaling_vnfd_1.yaml'), 'r') as file:
- vnfd = yaml.safe_load(file)['vnfd:vnfd-catalog']['vnfd'][0]
- vdu = VnfdUtils.get_mgmt_vdu(vnfd)
- self.assertEqual(vdu['id'], 'cirros_vnfd-VM')
-
- def test_get_mgmt_vdu_by_id(self):
- with open(
- os.path.join(os.path.dirname(__file__), 'examples/cirros_vdu_scaling_vnfd_2.yaml'), 'r') as file:
- vnfd = yaml.safe_load(file)['vnfd:vnfd-catalog']['vnfd'][0]
+ def test_get_mgmt_vdu_on_valid_descriptor(self):
+ example_file = os.path.join(
+ os.path.dirname(__file__), "examples/cirros_vdu_scaling_vnfd.yaml"
+ )
+ with open(example_file, "r") as file:
+ vnfd = yaml.safe_load(file)["vnfd"]
vdu = VnfdUtils.get_mgmt_vdu(vnfd)
- self.assertEqual(vdu['id'], 'cirros_vnfd-VM')
+ self.assertEqual(vdu["id"], "cirros_vnfd-VM")
+
+ def test_get_mgmt_vdu_on_invalid_descriptor(self):
+ example_file = os.path.join(
+ os.path.dirname(__file__), "examples/cirros_vdu_scaling_vnfd.yaml"
+ )
+ with open(example_file, "r") as file:
+ vnfd = yaml.safe_load(file)["vnfd"]
+ vnfd["mgmt-cp"] = "invalid-cp"
+ with self.assertRaises(ManagementVduNotFound):
+ VnfdUtils.get_mgmt_vdu(vnfd)