21
21
from neutron.common import exceptions
22
22
from neutron.openstack.common import uuidutils
23
23
from neutron.plugins.vmware.api_client import exception as api_exc
24
from neutron.plugins.vmware.api_client import version as version_module
24
25
from neutron.plugins.vmware.api_client.version import Version
25
26
from neutron.plugins.vmware.common import exceptions as nsx_exc
26
27
from neutron.plugins.vmware.common import utils
920
921
routerlib.delete_nat_rules_by_match,
921
922
self.fake_cluster, lrouter['uuid'],
922
923
'SomeWeirdType', 1, 1)
925
def test_delete_nat_rules_by_match_len_mismatch_does_not_raise(self):
926
lrouter = self._prepare_nat_rules_for_delete_tests()
927
rules = routerlib.query_nat_rules(self.fake_cluster, lrouter['uuid'])
928
self.assertEqual(len(rules), 3)
929
deleted_rules = routerlib.delete_nat_rules_by_match(
930
self.fake_cluster, lrouter['uuid'],
931
'DestinationNatRule',
932
max_num_expected=1, min_num_expected=1,
933
raise_on_len_mismatch=False,
934
destination_ip_addresses='99.99.99.99')
935
self.assertEqual(0, deleted_rules)
936
# add an extra rule to emulate a duplicate one
937
with mock.patch.object(self.fake_cluster.api_client,
939
new=lambda: version_module.Version('2.0')):
940
routerlib.create_lrouter_snat_rule(
941
self.fake_cluster, lrouter['uuid'],
942
'10.0.0.2', '10.0.0.2', order=220,
943
match_criteria={'source_ip_addresses': '192.168.0.0/24'})
944
deleted_rules_2 = routerlib.delete_nat_rules_by_match(
945
self.fake_cluster, lrouter['uuid'], 'SourceNatRule',
946
min_num_expected=1, max_num_expected=1,
947
raise_on_len_mismatch=False,
948
source_ip_addresses='192.168.0.0/24')
949
self.assertEqual(2, deleted_rules_2)