From 3753622406a85daf50d2f7f1a9a21ff351560684 Mon Sep 17 00:00:00 2001 From: Salvatore Orlando Date: Thu, 10 Apr 2014 16:55:51 -0700 Subject: [PATCH] NSX plugin: fix get_gateway_devices Fixes the error and adds relevant unit tests. Also fixes get_gateway_devices signature for allowing paging and sorting. Closes-Bug: 1306301 Change-Id: Icb52a764e111365beaf4dc4fb4a5b8970a6cf887 --- neutron/plugins/vmware/dbexts/networkgw_db.py | 1 - neutron/plugins/vmware/plugins/base.py | 4 +++- .../unit/vmware/extensions/test_networkgw.py | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/neutron/plugins/vmware/dbexts/networkgw_db.py b/neutron/plugins/vmware/dbexts/networkgw_db.py index 17773d963..dd1ec85f8 100644 --- a/neutron/plugins/vmware/dbexts/networkgw_db.py +++ b/neutron/plugins/vmware/dbexts/networkgw_db.py @@ -451,7 +451,6 @@ class NetworkGatewayMixin(networkgw.NetworkGatewayPluginBase): query = self._get_collection_query(context, NetworkGatewayDevice, filters=filters, - fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, diff --git a/neutron/plugins/vmware/plugins/base.py b/neutron/plugins/vmware/plugins/base.py index fc39bec86..932f5ef90 100644 --- a/neutron/plugins/vmware/plugins/base.py +++ b/neutron/plugins/vmware/plugins/base.py @@ -2231,7 +2231,9 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin, gw_device['status'] = device_status return gw_device - def get_gateway_devices(self, context, filters=None, fields=None): + def get_gateway_devices(self, context, filters=None, fields=None, + sorts=None, limit=None, marker=None, + page_reverse=False): # Get devices from database devices = super(NsxPluginV2, self).get_gateway_devices( context, filters, fields, include_nsx_id=True) diff --git a/neutron/tests/unit/vmware/extensions/test_networkgw.py b/neutron/tests/unit/vmware/extensions/test_networkgw.py index ae9ccfcf2..f2be4f25b 100644 --- a/neutron/tests/unit/vmware/extensions/test_networkgw.py +++ b/neutron/tests/unit/vmware/extensions/test_networkgw.py @@ -800,6 +800,25 @@ class NetworkGatewayDbTestCase(test_db_plugin.NeutronDbPluginV2TestCase): self.assertEqual(dev[self.dev_resource]['connector_ip'], '1.1.1.1') self.assertEqual(dev[self.dev_resource]['status'], expected_status) + def test_list_gateway_devices(self): + with contextlib.nested( + self._gateway_device(name='test-dev-1', + connector_type='stt', + connector_ip='1.1.1.1', + client_certificate='xyz'), + self._gateway_device(name='test-dev-2', + connector_type='stt', + connector_ip='2.2.2.2', + client_certificate='qwe')) as (dev_1, dev_2): + req = self.new_list_request(networkgw.GATEWAY_DEVICES) + res = self.deserialize('json', req.get_response(self.ext_api)) + devices = res[networkgw.GATEWAY_DEVICES.replace('-', '_')] + self.assertEqual(len(devices), 2) + dev_1 = devices[0] + dev_2 = devices[1] + self.assertEqual(dev_1['name'], 'test-dev-1') + self.assertEqual(dev_2['name'], 'test-dev-2') + def test_get_gateway_device( self, expected_status=networkgw_db.STATUS_UNKNOWN): with self._gateway_device(name='test-dev', @@ -862,11 +881,15 @@ class TestNetworkGateway(NsxPluginV2TestCase, l2gwlib, 'delete_gateway_device') get_gw_dev_status_patcher = mock.patch.object( l2gwlib, 'get_gateway_device_status') + get_gw_dev_statuses_patcher = mock.patch.object( + l2gwlib, 'get_gateway_devices_status') self.mock_create_gw_dev = create_gw_dev_patcher.start() self.mock_create_gw_dev.return_value = {'uuid': 'callejon'} self.mock_update_gw_dev = update_gw_dev_patcher.start() delete_gw_dev_patcher.start() self.mock_get_gw_dev_status = get_gw_dev_status_patcher.start() + get_gw_dev_statuses = get_gw_dev_statuses_patcher.start() + get_gw_dev_statuses.return_value = {} super(TestNetworkGateway, self).setUp(plugin=plugin, ext_mgr=ext_mgr) -- 2.45.2