Merge "Use custom converter for extra attributes"

This commit is contained in:
Zuul
2021-10-01 13:57:28 +00:00
committed by Gerrit Code Review
3 changed files with 76 additions and 5 deletions

View File

@@ -1439,6 +1439,42 @@ class TestAimMapping(ApicAimTestCase):
self._delete('networks', net_id)
self._check_network_deleted(net)
def test_network_lifecycle_with_string_attr(self):
# Test create.
kwargs = {'apic:extra_provided_contracts': "['ep1', 'ep2']",
'apic:extra_consumed_contracts': "['ec1', 'ec2']",
'apic:epg_contract_masters': """[{'app_profile_name': 'ap1',
'name': 'epg1'},
{'app_profile_name': 'ap2',
'name': 'epg2'}]""",
'apic:policy_enforcement_pref': 'enforced'}
net = self._make_network(
self.fmt, 'net1', True, arg_list=tuple(list(kwargs.keys())),
**kwargs)['network']
net_id = net['id']
self._check_network(net)
# Test show.
net = self._show('networks', net_id)['network']
self._check_network(net)
# Test update.
data = {'network':
{'name': 'newnamefornet',
'apic:extra_provided_contracts': "['ep2', 'ep3']",
'apic:extra_consumed_contracts': "['ec2', 'ec3']",
'apic:epg_contract_masters': """[{'app_profile_name': 'ap1',
'name': 'epg2'},
{'app_profile_name': 'ap3',
'name': 'epg2'}]""",
'apic:policy_enforcement_pref': 'enforced'}}
net = self._update('networks', net_id, data)['network']
self._check_network(net)
# Test delete.
self._delete('networks', net_id)
self._check_network_deleted(net)
def test_network_preexisting_bd(self):
# Test create with non-existing BD.
bd_dn = 'uni/tn-%s/BD-net_%s' % (self.t1_aname, _uuid())

View File

@@ -33,6 +33,33 @@ class TestAttributeConverters(base.BaseTestCase):
self.assertIsInstance(apic_ext.convert_apic_vlan(2), int)
self.assertIsNone(apic_ext.convert_apic_vlan(None))
def test_convert_apic_none_to_empty_list(self):
test_none = None
expt_list = []
self.assertItemsEqual(
apic_ext.convert_apic_none_to_empty_list(
test_none), expt_list)
expt_list = ['value1', 'value2', 'value3']
test_list_str = "['value1', 'value2', 'value3']"
self.assertItemsEqual(
apic_ext.convert_apic_none_to_empty_list(
test_list_str), expt_list)
self.assertItemsEqual(
apic_ext.convert_apic_none_to_empty_list(
expt_list), expt_list)
expt_list = [{'key1': 'value1'}, {'key2': 'value2'}]
test_dict_list_str = "[{'key1': 'value1'}, {'key2': 'value2'}]"
self.assertItemsEqual(
apic_ext.convert_apic_none_to_empty_list(
test_dict_list_str), expt_list)
self.assertItemsEqual(
apic_ext.convert_apic_none_to_empty_list(
expt_list), expt_list)
def test_convert_nested_domain_allowed_vlans(self):
test_dict_str = "{'vlans_list': [2, 3, 4], " + (
"'vlan_ranges': [{'start': 6, 'end': 9}, ") + (