Skip to content

Commit a39bde5

Browse files
committed
tests: Add network v2 FakeClientMixin
This ensures we are speccing the network proxy API. Future changes will do the same for the image proxy API and eventually the compute proxy API (once everything has been converted). Change-Id: Ic203964c7dede7dd80ae2d93b8fa1b7e6634a758 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent b257424 commit a39bde5

38 files changed

+56
-132
lines changed

openstackclient/tests/unit/common/test_availability_zone.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
12-
#
1312

1413
from unittest import mock
1514

@@ -79,7 +78,7 @@ def _build_network_az_datalist(network_az, long_datalist=False):
7978
return (datalist,)
8079

8180

82-
class TestAvailabilityZone(utils.TestCommand):
81+
class TestAvailabilityZone(network_fakes.FakeClientMixin, utils.TestCommand):
8382
def setUp(self):
8483
super().setUp()
8584

@@ -93,11 +92,6 @@ def setUp(self):
9392
self.volume_client = self.app.client_manager.sdk_connection.volume
9493
self.volume_client.availability_zones = mock.Mock()
9594

96-
self.app.client_manager.network = mock.Mock()
97-
self.network_client = self.app.client_manager.network
98-
self.network_client.availability_zones = mock.Mock()
99-
self.network_client.find_extension = mock.Mock()
100-
10195

10296
class TestAvailabilityZoneList(TestAvailabilityZone):
10397
compute_azs = compute_fakes.create_availability_zones()

openstackclient/tests/unit/common/test_extension.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
12-
#
1312

1413
from unittest import mock
1514

@@ -23,7 +22,7 @@
2322
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
2423

2524

26-
class TestExtension(utils.TestCommand):
25+
class TestExtension(network_fakes.FakeClientMixin, utils.TestCommand):
2726
def setUp(self):
2827
super().setUp()
2928

@@ -44,9 +43,6 @@ def setUp(self):
4443
self.volume_extensions_mock = sdk_connection.volume.extensions
4544
self.volume_extensions_mock.reset_mock()
4645

47-
self.app.client_manager.network = mock.Mock()
48-
self.network_client = self.app.client_manager.network
49-
5046

5147
class TestExtensionList(TestExtension):
5248
columns = ('Name', 'Alias', 'Description')

openstackclient/tests/unit/common/test_quota.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ def setUp(self):
6262
)
6363
self.volume_quotas_class_mock.reset_mock()
6464

65-
self.app.client_manager.network = mock.Mock()
66-
self.network_client = self.app.client_manager.network
67-
6865
self.app.client_manager.auth_ref = mock.Mock()
6966
self.app.client_manager.auth_ref.service_catalog = mock.Mock()
7067
self.service_catalog_mock = (
@@ -662,8 +659,6 @@ def setUp(self):
662659
loaded=True,
663660
)
664661

665-
self.network_client.update_quota = mock.Mock()
666-
667662
self.cmd = quota.SetQuota(self.app, None)
668663

669664
def test_quota_set(self):
@@ -1321,8 +1316,6 @@ class TestQuotaDelete(TestQuota):
13211316
def setUp(self):
13221317
super().setUp()
13231318

1324-
self.network_client.delete_quota = mock.Mock()
1325-
13261319
self.cmd = quota.DeleteQuota(self.app, None)
13271320

13281321
def test_delete(self):

openstackclient/tests/unit/compute/v2/fakes.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
from openstackclient.tests.unit import fakes
4040
from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes
4141
from openstackclient.tests.unit.image.v2 import fakes as image_fakes
42+
from openstackclient.tests.unit.network.v2 import fakes as network_fakes
4243
from openstackclient.tests.unit import utils
4344
from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
4445

@@ -147,7 +148,7 @@ def __init__(self, **kwargs):
147148
self.api_version = api_versions.APIVersion('2.1')
148149

149150

150-
class TestComputev2(utils.TestCommand):
151+
class TestComputev2(network_fakes.FakeClientMixin, utils.TestCommand):
151152
def setUp(self):
152153
super().setUp()
153154

@@ -171,8 +172,6 @@ def setUp(self):
171172
token=fakes.AUTH_TOKEN,
172173
)
173174

174-
self.app.client_manager.network = mock.Mock()
175-
176175
self.app.client_manager.volume = volume_fakes.FakeVolumeClient(
177176
endpoint=fakes.AUTH_URL,
178177
token=fakes.AUTH_TOKEN,

openstackclient/tests/unit/compute/v2/test_server.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,6 @@ def setUp(self):
113113
self.snapshots_mock = self.app.client_manager.volume.volume_snapshots
114114
self.snapshots_mock.reset_mock()
115115

116-
self.app.client_manager.network = mock.Mock()
117-
self.network_client = self.app.client_manager.network
118-
119116
# Set object attributes to be tested. Could be overwritten in subclass.
120117
self.attrs = {}
121118

@@ -523,7 +520,7 @@ class TestServerAddFloatingIPNetwork(
523520
network_fakes.TestNetworkV2,
524521
):
525522
def setUp(self):
526-
super(TestServerAddFloatingIPNetwork, self).setUp()
523+
super().setUp()
527524

528525
self.network_client.update_ip = mock.Mock(return_value=None)
529526

@@ -7253,10 +7250,8 @@ def test_server_remove_floating_ip(self, fip_mock):
72537250

72547251
class TestServerRemoveFloatingIPNetwork(network_fakes.TestNetworkV2):
72557252
def setUp(self):
7256-
super(TestServerRemoveFloatingIPNetwork, self).setUp()
7253+
super().setUp()
72577254

7258-
self.app.client_manager.network = mock.Mock()
7259-
self.network_client = self.app.client_manager.network
72607255
self.network_client.update_ip = mock.Mock(return_value=None)
72617256

72627257
# Get the command object to test

openstackclient/tests/unit/network/test_common.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,25 +124,25 @@ def take_action(self, parsed_args):
124124

125125
class TestNetworkAndCompute(utils.TestCommand):
126126
def setUp(self):
127-
super(TestNetworkAndCompute, self).setUp()
127+
super().setUp()
128128

129129
self.namespace = argparse.Namespace()
130130

131-
# Create network client mocks.
131+
# Create client mocks. Note that we intentionally do not use specced
132+
# mocks since we want to test fake methods.
133+
132134
self.app.client_manager.network = mock.Mock()
133135
self.network_client = self.app.client_manager.network
134136
self.network_client.network_action = mock.Mock(
135137
return_value='take_action_network'
136138
)
137139

138-
# Create compute client mocks.
139140
self.app.client_manager.compute = mock.Mock()
140141
self.compute = self.app.client_manager.compute
141142
self.compute.compute_action = mock.Mock(
142143
return_value='take_action_compute'
143144
)
144145

145-
# Subclasses can override the command object to test.
146146
self.cmd = FakeNetworkAndComputeCommand(self.app, self.namespace)
147147

148148
def test_take_action_network(self):
@@ -209,6 +209,9 @@ def setUp(self):
209209

210210
self.namespace = argparse.Namespace()
211211

212+
# Create client mocks. Note that we intentionally do not use specced
213+
# mocks since we want to test fake methods.
214+
212215
self.app.client_manager.network = mock.Mock()
213216
self.network_client = self.app.client_manager.network
214217
self.network_client.test_create_action = mock.Mock()

openstackclient/tests/unit/network/v2/fakes.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
12-
#
1312

1413
import argparse
1514
import copy
@@ -18,6 +17,7 @@
1817
from unittest import mock
1918
import uuid
2019

20+
from openstack.network.v2 import _proxy
2121
from openstack.network.v2 import address_group as _address_group
2222
from openstack.network.v2 import address_scope as _address_scope
2323
from openstack.network.v2 import agent as network_agent
@@ -93,14 +93,19 @@
9393
]
9494

9595

96-
class TestNetworkV2(utils.TestCommand):
96+
class FakeClientMixin:
9797
def setUp(self):
9898
super().setUp()
9999

100-
self.namespace = argparse.Namespace()
100+
self.app.client_manager.network = mock.Mock(spec=_proxy.Proxy)
101+
self.network_client = self.app.client_manager.network
101102

102-
self.app.client_manager.session = mock.Mock()
103-
self.app.client_manager.network = mock.Mock()
103+
104+
class TestNetworkV2(FakeClientMixin, utils.TestCommand):
105+
def setUp(self):
106+
super().setUp()
107+
108+
self.namespace = argparse.Namespace()
104109

105110
self.app.client_manager.identity = (
106111
identity_fakes_v3.FakeIdentityv3Client(

openstackclient/tests/unit/network/v2/test_address_group.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ class TestAddressGroup(network_fakes.TestNetworkV2):
2626
def setUp(self):
2727
super(TestAddressGroup, self).setUp()
2828

29-
# Get a shortcut to the network client
30-
self.network_client = self.app.client_manager.network
3129
# Get a shortcut to the ProjectManager Mock
3230
self.projects_mock = self.app.client_manager.identity.projects
3331
# Get a shortcut to the DomainManager Mock

openstackclient/tests/unit/network/v2/test_address_scope.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ class TestAddressScope(network_fakes.TestNetworkV2):
2626
def setUp(self):
2727
super(TestAddressScope, self).setUp()
2828

29-
# Get a shortcut to the network client
30-
self.network_client = self.app.client_manager.network
3129
# Get a shortcut to the ProjectManager Mock
3230
self.projects_mock = self.app.client_manager.identity.projects
3331
# Get a shortcut to the DomainManager Mock

openstackclient/tests/unit/network/v2/test_floating_ip_network.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,10 @@
2222
from openstackclient.tests.unit import utils as tests_utils
2323

2424

25-
# Tests for Neutron network
26-
27-
2825
class TestFloatingIPNetwork(network_fakes.TestNetworkV2):
2926
def setUp(self):
3027
super(TestFloatingIPNetwork, self).setUp()
3128

32-
# Get a shortcut to the network client
33-
self.network_client = self.app.client_manager.network
3429
# Get a shortcut to the ProjectManager Mock
3530
self.projects_mock = self.app.client_manager.identity.projects
3631
# Get a shortcut to the DomainManager Mock
@@ -308,7 +303,6 @@ class TestDeleteFloatingIPNetwork(TestFloatingIPNetwork):
308303
def setUp(self):
309304
super(TestDeleteFloatingIPNetwork, self).setUp()
310305

311-
self.network_client.find_ip = mock.Mock()
312306
self.network_client.delete_ip = mock.Mock(return_value=None)
313307

314308
# Get the command object to test

0 commit comments

Comments
 (0)