diff options
Diffstat (limited to 'neutron/tests/unit/bigswitch/test_servermanager.py')
-rw-r--r-- | neutron/tests/unit/bigswitch/test_servermanager.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/neutron/tests/unit/bigswitch/test_servermanager.py b/neutron/tests/unit/bigswitch/test_servermanager.py index e8d15efa3b..c3ea3b887a 100644 --- a/neutron/tests/unit/bigswitch/test_servermanager.py +++ b/neutron/tests/unit/bigswitch/test_servermanager.py @@ -23,6 +23,7 @@ from neutron import context from neutron import manager from neutron.openstack.common import importutils from neutron.openstack.common import jsonutils +from neutron.plugins.bigswitch.db import consistency_db as cdb from neutron.plugins.bigswitch import servermanager from neutron.tests.unit.bigswitch import test_restproxy_plugin as test_rp @@ -411,6 +412,18 @@ class ServerManagerTests(test_rp.BigSwitchProxyPluginV2TestCase): sleep_call_count = rest_call_count - 1 tmock.assert_has_calls(sleep_call * sleep_call_count) + def test_delete_failure_sets_bad_hash(self): + pl = manager.NeutronManager.get_plugin() + hash_handler = cdb.HashHandler() + with mock.patch( + SERVERMANAGER + '.ServerProxy.rest_call', + return_value=(httplib.INTERNAL_SERVER_ERROR, 0, 0, 0) + ): + # a failed delete call should put a bad hash in the DB + pl.servers.rest_call('DELETE', '/', '', None, []) + self.assertEqual('INCONSISTENT,INCONSISTENT', + hash_handler.read_for_update()) + def test_conflict_triggers_sync(self): pl = manager.NeutronManager.get_plugin() with mock.patch( |