summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2017-01-06 12:33:41 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2017-01-06 12:59:41 +0800
commit99aeff4967c9cd1cb01408993eff72c4fcbada7d (patch)
tree60fac3f631e3172643bb0be7c33c57b5fcc661be /openstackclient
parent4d15a2a8fc50e64c73001a56d15763778f6dda5b (diff)
downloadpython-openstackclient-99aeff4967c9cd1cb01408993eff72c4fcbada7d.tar.gz
Fix "ip availability show" command
SDK refactor broken ip availability show functional test, We can not find a ip availability by network name but only network ID, so we find network and get the ID first, then find the ip availability by the network ID. Closes-Bug: 1653139 Change-Id: I246163fb875e2cdb9e5b091bac500a94268e8aa9
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/network/v2/ip_availability.py4
-rw-r--r--openstackclient/tests/functional/network/v2/test_ip_availability.py2
-rw-r--r--openstackclient/tests/unit/network/v2/test_ip_availability.py10
3 files changed, 11 insertions, 5 deletions
diff --git a/openstackclient/network/v2/ip_availability.py b/openstackclient/network/v2/ip_availability.py
index a80fe1c4..1d963580 100644
--- a/openstackclient/network/v2/ip_availability.py
+++ b/openstackclient/network/v2/ip_availability.py
@@ -107,7 +107,9 @@ class ShowIPAvailability(command.ShowOne):
def take_action(self, parsed_args):
client = self.app.client_manager.network
- obj = client.find_network_ip_availability(parsed_args.network,
+ network_id = client.find_network(parsed_args.network,
+ ignore_missing=False).id
+ obj = client.find_network_ip_availability(network_id,
ignore_missing=False)
display_columns, columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
diff --git a/openstackclient/tests/functional/network/v2/test_ip_availability.py b/openstackclient/tests/functional/network/v2/test_ip_availability.py
index edbe7e3c..b5c908f4 100644
--- a/openstackclient/tests/functional/network/v2/test_ip_availability.py
+++ b/openstackclient/tests/functional/network/v2/test_ip_availability.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import testtools
import uuid
from openstackclient.tests.functional import base
@@ -47,7 +46,6 @@ class IPAvailabilityTests(base.TestCase):
raw_output = self.openstack('ip availability list' + opts)
self.assertIn(self.NETWORK_NAME, raw_output)
- @testtools.skip('broken SDK testing')
def test_ip_availability_show(self):
opts = self.get_opts(self.FIELDS)
raw_output = self.openstack(
diff --git a/openstackclient/tests/unit/network/v2/test_ip_availability.py b/openstackclient/tests/unit/network/v2/test_ip_availability.py
index 4bdbddc4..c7c5a9b4 100644
--- a/openstackclient/tests/unit/network/v2/test_ip_availability.py
+++ b/openstackclient/tests/unit/network/v2/test_ip_availability.py
@@ -118,8 +118,10 @@ class TestListIPAvailability(TestIPAvailability):
class TestShowIPAvailability(TestIPAvailability):
+ _network = network_fakes.FakeNetwork.create_one_network()
_ip_availability = \
- network_fakes.FakeIPAvailability.create_one_ip_availability()
+ network_fakes.FakeIPAvailability.create_one_ip_availability(
+ attrs={'network_id': _network.id})
columns = (
'network_id',
@@ -144,6 +146,8 @@ class TestShowIPAvailability(TestIPAvailability):
self.network.find_network_ip_availability = mock.Mock(
return_value=self._ip_availability)
+ self.network.find_network = mock.Mock(
+ return_value=self._network)
# Get the command object to test
self.cmd = ip_availability.ShowIPAvailability(
@@ -166,8 +170,10 @@ class TestShowIPAvailability(TestIPAvailability):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.network.find_network_ip_availability.assert_called_once_with(
+ self._ip_availability.network_id,
+ ignore_missing=False)
+ self.network.find_network.assert_called_once_with(
self._ip_availability.network_name,
ignore_missing=False)
-
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)