From 1f1214a5e4f83022f9a39ba31455f40ad641596d Mon Sep 17 00:00:00 2001 From: Zhongyue Luo Date: Thu, 29 Nov 2012 11:29:07 +0800 Subject: [PATCH] Completes coverage of quantum.agent.rpc.py Added test cases Fixes bug #1084381 Change-Id: I9179aac206befa6b0449814646639ed96a1eadbc --- quantum/agent/rpc.py | 24 +++++++++++++----------- quantum/tests/unit/test_agent_rpc.py | 27 ++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/quantum/agent/rpc.py b/quantum/agent/rpc.py index cab2c2ae2b..dc65175c88 100644 --- a/quantum/agent/rpc.py +++ b/quantum/agent/rpc.py @@ -1,17 +1,19 @@ -# Copyright (c) 2012 OpenStack, LLC. +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright (c) 2012 OpenStack LLC. +# All Rights Reserved. # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. import eventlet diff --git a/quantum/tests/unit/test_agent_rpc.py b/quantum/tests/unit/test_agent_rpc.py index 8dae30bf14..a36ea0d89f 100644 --- a/quantum/tests/unit/test_agent_rpc.py +++ b/quantum/tests/unit/test_agent_rpc.py @@ -1,6 +1,6 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright 2012 OpenStack LLC +# Copyright (c) 2012 OpenStack LLC. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -21,6 +21,31 @@ import mock from quantum.agent import rpc from quantum.openstack.common import cfg +from quantum.openstack.common import context + + +class AgentRPCPluginApi(unittest.TestCase): + def _test_rpc_call(self, method): + agent = rpc.PluginApi('fake_topic') + ctxt = context.RequestContext('fake_user', 'fake_project') + expect_val = 'foo' + with mock.patch('quantum.openstack.common.rpc.call') as rpc_call: + rpc_call.return_value = expect_val + func_obj = getattr(agent, method) + if method == 'tunnel_sync': + actual_val = func_obj(ctxt, 'fake_tunnel_ip') + else: + actual_val = func_obj(ctxt, 'fake_device', 'fake_agent_id') + self.assertEqual(actual_val, expect_val) + + def test_get_device_details(self): + self._test_rpc_call('get_device_details') + + def test_update_device_down(self): + self._test_rpc_call('update_device_down') + + def test_tunnel_sync(self): + self._test_rpc_call('tunnel_sync') class AgentRPCMethods(unittest.TestCase):