From: Jenkins Date: Fri, 20 Feb 2015 21:25:45 +0000 (+0000) Subject: Merge "Stale VXLAN and GRE tunnel port/flow deletion" X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=b5edd8c6e330cac1625a041b06918c03c493b91e;p=openstack-build%2Fneutron-build.git Merge "Stale VXLAN and GRE tunnel port/flow deletion" --- b5edd8c6e330cac1625a041b06918c03c493b91e diff --cc neutron/tests/unit/ml2/test_type_gre.py index 0ee4163ce,6c4051792..105f25b73 --- a/neutron/tests/unit/ml2/test_type_gre.py +++ b/neutron/tests/unit/ml2/test_type_gre.py @@@ -15,13 -15,9 +15,14 @@@ import mock +from oslo_db import exception as db_exc +from sqlalchemy.orm import exc as sa_exc +import testtools + +from neutron.db import api as db_api from neutron.plugins.common import constants as p_const from neutron.plugins.ml2.drivers import type_gre + from neutron.tests.unit.ml2 import test_rpcapi from neutron.tests.unit.ml2 import test_type_tunnel from neutron.tests.unit import testlib_api @@@ -98,33 -84,14 +99,40 @@@ class GreTypeTest(test_type_tunnel.Tunn endpoints = self.driver.get_endpoints() self.assertNotIn(TUNNEL_IP_ONE, endpoints) + def test_sync_allocations_entry_added_during_session(self): + with mock.patch.object(self.driver, '_add_allocation', + side_effect=db_exc.DBDuplicateEntry) as ( + mock_add_allocation): + self.driver.sync_allocations() + self.assertTrue(mock_add_allocation.called) + + def test__add_allocation_not_existing(self): + session = db_api.get_session() + _add_allocation(session, gre_id=1) + self.driver._add_allocation(session, {1, 2}) + _get_allocation(session, 2) + + def test__add_allocation_existing_allocated_is_kept(self): + session = db_api.get_session() + _add_allocation(session, gre_id=1, allocated=True) + self.driver._add_allocation(session, {2}) + _get_allocation(session, 1) + + def test__add_allocation_existing_not_allocated_is_removed(self): + session = db_api.get_session() + _add_allocation(session, gre_id=1) + self.driver._add_allocation(session, {2}) + with testtools.ExpectedException(sa_exc.NoResultFound): + _get_allocation(session, 1) + class GreTypeMultiRangeTest(test_type_tunnel.TunnelTypeMultiRangeTestMixin, - testlib_api.SqlTestCase): + testlib_api.SqlTestCase): DRIVER_CLASS = type_gre.GreTypeDriver + + + class GreTypeRpcCallbackTest(test_type_tunnel.TunnelRpcCallbackTestMixin, + test_rpcapi.RpcCallbacksTestCase, + testlib_api.SqlTestCase): + DRIVER_CLASS = type_gre.GreTypeDriver + TYPE = p_const.TYPE_GRE