summaryrefslogtreecommitdiff
path: root/neutronclient/tests
diff options
context:
space:
mode:
Diffstat (limited to 'neutronclient/tests')
-rw-r--r--neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py31
-rw-r--r--neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py30
-rw-r--r--neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py35
-rw-r--r--neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py30
-rw-r--r--neutronclient/tests/unit/osc/v2/fakes.py4
5 files changed, 74 insertions, 56 deletions
diff --git a/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py b/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
index c496a3f..188f068 100644
--- a/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
+++ b/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
@@ -10,10 +10,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-import copy
from unittest import mock
import uuid
+from openstack.network.v2 import agent as _agent
+from openstack.network.v2 import bgp_peer as _bgp_peer
+from openstack.network.v2 import bgp_speaker as _bgp_speaker
from neutronclient.tests.unit.osc.v2 import fakes
@@ -26,6 +28,17 @@ class TestNeutronDynamicRoutingOSCV2(fakes.TestNeutronClientOSCV2):
cmd_resource=None, parent_id=None, fields=None:
{'id': name_or_id})
+ self.networkclient.find_bgp_speaker = mock.Mock(
+ side_effect=lambda name_or_id, project_id=None,
+ cmd_resource=None, parent_id=None, fields=None,
+ ignore_missing=False:
+ _bgp_speaker.BgpSpeaker(id=name_or_id))
+ self.networkclient.find_bgp_peer = mock.Mock(
+ side_effect=lambda name_or_id, project_id=None,
+ cmd_resource=None, parent_id=None, fields=None,
+ ignore_missing=False:
+ _bgp_peer.BgpPeer(id=name_or_id))
+
class FakeBgpSpeaker(object):
"""Fake one or more bgp speakers."""
@@ -48,8 +61,9 @@ class FakeBgpSpeaker(object):
# Overwrite default attributes.
bgp_speaker_attrs.update(attrs)
+ ret_bgp_speaker = _bgp_speaker.BgpSpeaker(**bgp_speaker_attrs)
- return copy.deepcopy(bgp_speaker_attrs)
+ return ret_bgp_speaker
@staticmethod
def create_bgp_speakers(attrs=None, count=1):
@@ -61,7 +75,7 @@ class FakeBgpSpeaker(object):
bgp_speaker = FakeBgpSpeaker.create_one_bgp_speaker(attrs)
bgp_speakers.append(bgp_speaker)
- return {'bgp_speakers': bgp_speakers}
+ return bgp_speakers
class FakeBgpPeer(object):
@@ -82,8 +96,9 @@ class FakeBgpPeer(object):
# Overwrite default attributes.
bgp_peer_attrs.update(attrs)
+ ret_bgp_peer = _bgp_peer.BgpPeer(**bgp_peer_attrs)
- return copy.deepcopy(bgp_peer_attrs)
+ return ret_bgp_peer
@staticmethod
def create_bgp_peers(attrs=None, count=1):
@@ -93,7 +108,7 @@ class FakeBgpPeer(object):
bgp_peer = FakeBgpPeer.create_one_bgp_peer(attrs)
bgp_peers.append(bgp_peer)
- return {'bgp_peers': bgp_peers}
+ return bgp_peers
class FakeDRAgent(object):
@@ -106,6 +121,7 @@ class FakeDRAgent(object):
dragent_attrs = {
'binary': 'neutron-bgp-dragent',
'admin_state_up': True,
+ 'availability_zone': None,
'alive': True,
'topic': 'bgp_dragent',
'host': 'network-' + uuid.uuid4().hex,
@@ -116,8 +132,7 @@ class FakeDRAgent(object):
# Overwrite default attributes.
dragent_attrs.update(attrs)
-
- return copy.deepcopy(dragent_attrs)
+ return _agent.Agent(**dragent_attrs)
@staticmethod
def create_dragents(attrs=None, count=1):
@@ -127,4 +142,4 @@ class FakeDRAgent(object):
agent = FakeDRAgent.create_one_dragent(attrs)
agents.append(agent)
- return {'agents': agents}
+ return agents
diff --git a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
index 7a94b32..89ba20d 100644
--- a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
+++ b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
@@ -39,15 +39,14 @@ class TestAddBgpSpeakerToDRAgent(fakes.TestNeutronDynamicRoutingOSCV2):
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- with mock.patch.object(self.neutronclient,
+ with mock.patch.object(self.networkclient,
"add_bgp_speaker_to_dragent",
return_value=None):
result = self.cmd.take_action(parsed_args)
- self.neutronclient.add_bgp_speaker_to_dragent.\
+ self.networkclient.add_bgp_speaker_to_dragent.\
assert_called_once_with(
- self._bgp_dragent_id,
- {'bgp_speaker_id': self._bgp_speaker_id})
+ self._bgp_dragent_id, self._bgp_speaker_id)
self.assertIsNone(result)
@@ -75,11 +74,11 @@ class TestRemoveBgpSpeakerFromDRAgent(fakes.TestNeutronDynamicRoutingOSCV2):
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- with mock.patch.object(self.neutronclient,
+ with mock.patch.object(self.networkclient,
"remove_bgp_speaker_from_dragent",
return_value=None):
result = self.cmd.take_action(parsed_args)
- self.neutronclient.remove_bgp_speaker_from_dragent.\
+ self.networkclient.remove_bgp_speaker_from_dragent.\
assert_called_once_with(self._bgp_dragent_id,
self._bgp_speaker_id)
self.assertIsNone(result)
@@ -90,12 +89,16 @@ class TestListDRAgentsHostingBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
_bgp_speaker_id = _bgp_speaker['id']
attrs = {'bgp_speaker_id': _bgp_speaker_id}
_bgp_dragents = fakes.FakeDRAgent.create_dragents(attrs)
- columns = ('ID', 'Host', 'State', 'Alive')
+ columns = ('ID', 'Agent Type', 'Host', 'Availability Zone',
+ 'Alive', 'State', 'Binary')
data = [(_bgp_dragent['id'],
+ _bgp_dragent['agent_type'],
_bgp_dragent['host'],
+ _bgp_dragent['availability_zone'],
_bgp_dragent['admin_state_up'],
- ':-)' if _bgp_dragent['alive'] else 'XXX')
- for _bgp_dragent in _bgp_dragents['agents']]
+ _bgp_dragent['alive'],
+ _bgp_dragent['binary'],)
+ for _bgp_dragent in _bgp_dragents]
def setUp(self):
super(TestListDRAgentsHostingBgpSpeaker, self).setUp()
@@ -112,12 +115,11 @@ class TestListDRAgentsHostingBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- with mock.patch.object(self.neutronclient,
- "list_dragents_hosting_bgp_speaker",
+ with mock.patch.object(self.networkclient,
+ "get_bgp_dragents_hosting_speaker",
return_value=self._bgp_dragents):
columns, data = self.cmd.take_action(parsed_args)
- attrs = {'bgp_speaker': self._bgp_speaker_id}
- self.neutronclient.list_dragents_hosting_bgp_speaker.\
- assert_called_once_with(**attrs)
+ self.networkclient.get_bgp_dragents_hosting_speaker.\
+ assert_called_once_with(self._bgp_speaker_id)
self.assertEqual(self.columns, columns)
self.assertListEqual(self.data, list(data))
diff --git a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py
index 506c86d..73b6bf7 100644
--- a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py
+++ b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py
@@ -20,7 +20,7 @@ class TestListBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
_bgp_peers = fakes.FakeBgpPeer.create_bgp_peers(count=1)
columns = ('ID', 'Name', 'Peer IP', 'Remote AS')
data = []
- for _bgp_peer in _bgp_peers['bgp_peers']:
+ for _bgp_peer in _bgp_peers:
data.append((
_bgp_peer['id'],
_bgp_peer['name'],
@@ -30,7 +30,7 @@ class TestListBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestListBgpPeer, self).setUp()
- self.neutronclient.list_bgp_peers = mock.Mock(
+ self.networkclient.bgp_peers = mock.Mock(
return_value=self._bgp_peers
)
@@ -41,7 +41,8 @@ class TestListBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, [], [])
columns, data = self.cmd.take_action(parsed_args)
- self.neutronclient.list_bgp_peers.assert_called_once_with()
+ self.networkclient.bgp_peers.assert_called_once_with(
+ retrieve_all=True)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
@@ -53,7 +54,7 @@ class TestDeleteBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestDeleteBgpPeer, self).setUp()
- self.neutronclient.delete_bgp_peer = mock.Mock(return_value=None)
+ self.networkclient.delete_bgp_peer = mock.Mock(return_value=None)
self.cmd = bgp_peer.DeleteBgpPeer(self.app, self.namespace)
@@ -68,7 +69,7 @@ class TestDeleteBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
result = self.cmd.take_action(parsed_args)
- self.neutronclient.delete_bgp_peer.assert_called_once_with(
+ self.networkclient.delete_bgp_peer.assert_called_once_with(
self._bgp_peer['name'])
self.assertIsNone(result)
@@ -80,31 +81,30 @@ class TestShowBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
_one_bgp_peer['id'],
_one_bgp_peer['name'],
_one_bgp_peer['peer_ip'],
+ _one_bgp_peer['tenant_id'],
_one_bgp_peer['remote_as'],
- _one_bgp_peer['tenant_id']
)
- _bgp_peer = {'bgp_peer': _one_bgp_peer}
+ _bgp_peer = _one_bgp_peer
_bgp_peer_name = _one_bgp_peer['name']
columns = (
'auth_type',
'id',
'name',
'peer_ip',
+ 'project_id',
'remote_as',
- 'tenant_id'
)
def setUp(self):
super(TestShowBgpPeer, self).setUp()
- self.neutronclient.show_bgp_peer = mock.Mock(
+ self.networkclient.get_bgp_peer = mock.Mock(
return_value=self._bgp_peer
)
- bgp_peer.get_bgp_peer_id = mock.Mock(return_value=self._bgp_peer_name)
# Get the command object to test
self.cmd = bgp_peer.ShowBgpPeer(self.app, self.namespace)
- def test_bgp_peer_list(self):
+ def test_bgp_peer_show(self):
arglist = [
self._bgp_peer_name,
]
@@ -114,7 +114,7 @@ class TestShowBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
data = self.cmd.take_action(parsed_args)
- self.neutronclient.show_bgp_peer.assert_called_once_with(
+ self.networkclient.get_bgp_peer.assert_called_once_with(
self._bgp_peer_name)
self.assertEqual(self.columns, data[0])
self.assertEqual(self.data, data[1])
@@ -126,7 +126,7 @@ class TestSetBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestSetBgpPeer, self).setUp()
- self.neutronclient.update_bgp_peer = mock.Mock(return_value=None)
+ self.networkclient.update_bgp_peer = mock.Mock(return_value=None)
bgp_peer.get_bgp_peer_id = mock.Mock(return_value=self._bgp_peer_name)
self.cmd = bgp_peer.SetBgpPeer(self.app, self.namespace)
@@ -144,10 +144,7 @@ class TestSetBgpPeer(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
- attrs = {'bgp_peer': {
- 'name': 'noob',
- 'password': None}
- }
- self.neutronclient.update_bgp_peer.assert_called_once_with(
- self._bgp_peer_name, attrs)
+ attrs = {'name': 'noob', 'password': None}
+ self.networkclient.update_bgp_peer.assert_called_once_with(
+ self._bgp_peer_name, **attrs)
self.assertIsNone(result)
diff --git a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py
index 1597468..c5e42e5 100644
--- a/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py
+++ b/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py
@@ -20,7 +20,7 @@ class TestListBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
_bgp_speakers = fakes.FakeBgpSpeaker.create_bgp_speakers()
columns = ('ID', 'Name', 'Local AS', 'IP Version')
data = []
- for _bgp_speaker in _bgp_speakers['bgp_speakers']:
+ for _bgp_speaker in _bgp_speakers:
data.append((
_bgp_speaker['id'],
_bgp_speaker['name'],
@@ -30,7 +30,7 @@ class TestListBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestListBgpSpeaker, self).setUp()
- self.neutronclient.list_bgp_speakers = mock.Mock(
+ self.networkclient.bgp_speakers = mock.Mock(
return_value=self._bgp_speakers
)
@@ -41,7 +41,9 @@ class TestListBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, [], [])
columns, data = self.cmd.take_action(parsed_args)
- self.neutronclient.list_bgp_speakers.assert_called_once_with()
+ self.networkclient.bgp_speakers.assert_called_once_with(
+ retrieve_all=True)
+
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
@@ -53,7 +55,7 @@ class TestDeleteBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestDeleteBgpSpeaker, self).setUp()
- self.neutronclient.delete_bgp_speaker = mock.Mock(return_value=None)
+ self.networkclient.delete_bgp_speaker = mock.Mock(return_value=None)
self.cmd = bgp_speaker.DeleteBgpSpeaker(self.app, self.namespace)
@@ -68,7 +70,7 @@ class TestDeleteBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
result = self.cmd.take_action(parsed_args)
- self.neutronclient.delete_bgp_speaker.assert_called_once_with(
+ self.networkclient.delete_bgp_speaker.assert_called_once_with(
self._bgp_speaker['name'])
self.assertIsNone(result)
@@ -86,7 +88,7 @@ class TestShowBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
_one_bgp_speaker['peers'],
_one_bgp_speaker['tenant_id']
)
- _bgp_speaker = {'bgp_speaker': _one_bgp_speaker}
+ _bgp_speaker = _one_bgp_speaker
_bgp_speaker_name = _one_bgp_speaker['name']
columns = (
'advertise_floating_ip_host_routes',
@@ -97,13 +99,13 @@ class TestShowBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
'name',
'networks',
'peers',
- 'tenant_id'
+ 'project_id'
)
def setUp(self):
super(TestShowBgpSpeaker, self).setUp()
- self.neutronclient.show_bgp_speaker = mock.Mock(
+ self.networkclient.get_bgp_speaker = mock.Mock(
return_value=self._bgp_speaker
)
# Get the command object to test
@@ -119,7 +121,7 @@ class TestShowBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
data = self.cmd.take_action(parsed_args)
- self.neutronclient.show_bgp_speaker.assert_called_once_with(
+ self.networkclient.get_bgp_speaker.assert_called_once_with(
self._bgp_speaker_name)
self.assertEqual(self.columns, data[0])
self.assertEqual(self.data, data[1])
@@ -131,7 +133,7 @@ class TestSetBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
def setUp(self):
super(TestSetBgpSpeaker, self).setUp()
- self.neutronclient.update_bgp_speaker = mock.Mock(
+ self.networkclient.update_bgp_speaker = mock.Mock(
return_value=None)
self.cmd = bgp_speaker.SetBgpSpeaker(self.app, self.namespace)
@@ -149,9 +151,7 @@ class TestSetBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
- attrs = {'bgp_speaker': {
- 'name': 'noob'}
- }
- self.neutronclient.update_bgp_speaker.assert_called_once_with(
- self._bgp_speaker_name, attrs)
+ attrs = {'name': 'noob'}
+ self.networkclient.update_bgp_speaker.assert_called_once_with(
+ self._bgp_speaker_name, **attrs)
self.assertIsNone(result)
diff --git a/neutronclient/tests/unit/osc/v2/fakes.py b/neutronclient/tests/unit/osc/v2/fakes.py
index c7876b6..7fec734 100644
--- a/neutronclient/tests/unit/osc/v2/fakes.py
+++ b/neutronclient/tests/unit/osc/v2/fakes.py
@@ -26,6 +26,10 @@ class TestNeutronClientOSCV2(utils.TestCommand):
self.app.client_manager.session = mock.Mock()
self.app.client_manager.neutronclient = mock.Mock()
self.neutronclient = self.app.client_manager.neutronclient
+
+ self.app.client_manager.network = mock.Mock()
+ self.networkclient = self.app.client_manager.network
+
self.addCleanup(mock.patch.stopall)
# TODO(amotoki): Move this to osc_lib