FIXME temporary, we will need more control over vim_urls and _id for test purpose - make a generator
:return: vim_url and _id as dict, i.e. extract these from vim_accounts data
"""
- return {_['vim_url']: _['_id'] for _ in vim_accounts}
+ return {_['name']: _['_id'] for _ in vim_accounts}
def _adjust_path(self, file):
"""In case we are not running from test directory,
price_list_file = "vnf_price_list.yaml"
with open(str(Path(self._adjust_path(price_list_file)))) as pl_fd:
price_list_data = yaml.safe_load_all(pl_fd)
- return {i['vnfd']: {i1['vim_url']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
+ return {i['vnfd']: {i1['vim_name']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
def _produce_ut_vnf_test_price_list(self, price_list):
price_list_file = price_list
with open(str(Path(self._adjust_path(price_list_file)))) as pl_fd:
price_list_data = yaml.safe_load_all(pl_fd)
- return {i['vnfd']: {i1['vim_url']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
+ return {i['vnfd']: {i1['vim_name']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
def test__produce_trp_link_characteristics_link_latency_with_more_vims(self):
"""
self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts_more_vims),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'),
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'),
pinning=None)
pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
content_produced = [i for row in pil_latencies for i in row]
self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts_fewer_vims),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'),
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'),
pinning=None)
pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
content_produced = [i for row in pil_latencies for i in row]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
content_produced = [i for row in pil_latencies for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_latency incorrect')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_jitter = nspdf._produce_trp_link_characteristics_data('pil_jitter')
content_produced = [i for row in pil_jitter for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_jitter')
content_produced = [i for row in pil_latencies for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_jitter')
content_produced = [i for row in pil_latencies for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_prices = nspdf._produce_trp_link_characteristics_data('pil_price')
content_produced = [i for row in pil_prices for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'invalid trp link prices')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
pil_prices = nspdf._produce_trp_link_characteristics_data('pil_price')
content_produced = [i for row in pil_prices for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced), 'invalid trp link prices')
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest2.yaml'), pinning=None)
+ pil_info=self._populate_pil_info('pil_unittest2_keys.yaml'), pinning=None)
pil_jitter = nspdf._produce_trp_link_characteristics_data('pil_jitter')
content_produced = [i for row in pil_jitter for i in row]
self.assertEqual(Counter(content_expected), Counter(content_produced),
{'cp_refs': ['two', 'three'], 'latency': 120}]
nsd = self._get_ut_nsd_from_file('nsd_unittest2.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 121, 'jitter': 22}]
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three']}]
nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 141, 'jitter': 42}]
nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 151}]
nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three']}]
nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['2', '3'], 'latency': 20, 'jitter': 10}, ]
nsd = self._get_ut_nsd_from_file('test_five_nsd.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
vld_desc_expected = []
nsd = self._get_ut_nsd_from_file('nsd_unittest4.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
+ nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None, pinning=None,
+ order_constraints=None)
+
+ self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc_incorrect")
+
+ def test__produce_vld_desc_slice_nsd(self):
+ vld_desc_expected = []
+ nsd = self._get_ut_nsd_from_file('slice_hackfest_middle_nsd.yaml')
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
{'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
- fault case scenarios with non-existing vims, non-existing vnfds
"""
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
def test__produce_ns_desc_with_more_vims(self):
nsd = self._get_ut_nsd_from_file('nsd_unittest1.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
self._produce_ut_vnf_test_price_list('vnf_price_list_more_vims.yaml'),
nsd=nsd,
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter([1, 3, 2]), Counter(vnfs), 'vnf_id invalid')
+ self.assertEqual(Counter({'1': 1, '2': 1, '3': 1}), Counter(vnfs), 'vnf_id invalid')
expected_keys = ['vnf_id', 'vnf_price_per_vim']
for e in ns_desc:
def test__produce_ns_desc_with_fewer_vims(self):
nsd = self._get_ut_nsd_from_file('nsd_unittest1.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
self._produce_ut_vnf_price_list(),
nsd=nsd,
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter([1, 3, 2]), Counter(vnfs), 'vnf_id invalid')
+ self.assertEqual(Counter({'1': 1, '2': 1, '3': 1}), Counter(vnfs), 'vnf_id invalid')
expected_keys = ['vnf_id', 'vnf_price_per_vim']
for e in ns_desc:
def test__produce_ns_desc_w_pinning(self):
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
pinning = [{'member-vnf-index': 'two', 'vimAccountId': '331ffdec-44a8-4707-94a1-af7a292d9735'}]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
'vimeda92f47-29b9-4007-9709-c1833dbfbe31']]
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,
'vimeda92f47-29b9-4007-9709-c1833dbfbe31']]
nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
+ nsd = nsd['nsd']['nsd'][0]
nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
self._produce_ut_vnf_price_list(),
nsd=nsd,