python-openstackclient 6.3.0__py3-none-any.whl → 6.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openstackclient/common/availability_zone.py +4 -4
- openstackclient/common/pagination.py +82 -0
- openstackclient/compute/v2/flavor.py +2 -16
- openstackclient/compute/v2/hypervisor.py +2 -21
- openstackclient/compute/v2/keypair.py +2 -9
- openstackclient/compute/v2/server.py +220 -131
- openstackclient/compute/v2/server_event.py +30 -19
- openstackclient/compute/v2/server_group.py +2 -23
- openstackclient/compute/v2/server_migration.py +2 -22
- openstackclient/compute/v2/usage.py +4 -6
- openstackclient/identity/v3/mapping.py +25 -3
- openstackclient/identity/v3/policy.py +3 -1
- openstackclient/image/v2/cache.py +218 -0
- openstackclient/image/v2/image.py +40 -17
- openstackclient/image/v2/metadef_namespaces.py +25 -21
- openstackclient/image/v2/metadef_objects.py +189 -0
- openstackclient/image/v2/metadef_properties.py +284 -0
- openstackclient/network/utils.py +100 -0
- openstackclient/network/v2/default_security_group_rule.py +418 -0
- openstackclient/network/v2/local_ip_association.py +1 -1
- openstackclient/network/v2/ndp_proxy.py +7 -3
- openstackclient/network/v2/network.py +2 -2
- openstackclient/network/v2/port.py +65 -19
- openstackclient/network/v2/security_group_rule.py +18 -111
- openstackclient/network/v2/subnet.py +1 -0
- openstackclient/object/v1/container.py +2 -12
- openstackclient/object/v1/object.py +2 -11
- openstackclient/tests/functional/base.py +13 -6
- openstackclient/tests/functional/identity/v3/test_role.py +11 -3
- openstackclient/tests/functional/network/v2/common.py +7 -1
- openstackclient/tests/functional/network/v2/test_address_group.py +2 -4
- openstackclient/tests/functional/network/v2/test_address_scope.py +0 -6
- openstackclient/tests/functional/network/v2/test_default_security_group_rule.py +67 -0
- openstackclient/tests/functional/network/v2/test_floating_ip.py +3 -6
- openstackclient/tests/functional/network/v2/test_ip_availability.py +3 -8
- openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +3 -4
- openstackclient/tests/functional/network/v2/test_local_ip.py +2 -4
- openstackclient/tests/functional/network/v2/test_network.py +18 -17
- openstackclient/tests/functional/network/v2/test_network_agent.py +24 -21
- openstackclient/tests/functional/network/v2/test_network_flavor.py +0 -6
- openstackclient/tests/functional/network/v2/test_network_flavor_profile.py +0 -6
- openstackclient/tests/functional/network/v2/test_network_meter.py +6 -6
- openstackclient/tests/functional/network/v2/test_network_meter_rule.py +7 -8
- openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +1 -3
- openstackclient/tests/functional/network/v2/test_network_qos_policy.py +4 -4
- openstackclient/tests/functional/network/v2/test_network_qos_rule.py +16 -20
- openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +4 -4
- openstackclient/tests/functional/network/v2/test_network_rbac.py +1 -4
- openstackclient/tests/functional/network/v2/test_network_segment.py +7 -12
- openstackclient/tests/functional/network/v2/test_network_segment_range.py +3 -4
- openstackclient/tests/functional/network/v2/test_network_service_provider.py +2 -4
- openstackclient/tests/functional/network/v2/test_network_trunk.py +3 -3
- openstackclient/tests/functional/network/v2/test_port.py +2 -8
- openstackclient/tests/functional/network/v2/test_router.py +0 -6
- openstackclient/tests/functional/network/v2/test_security_group.py +1 -4
- openstackclient/tests/functional/network/v2/test_security_group_rule.py +1 -4
- openstackclient/tests/functional/network/v2/test_subnet.py +4 -22
- openstackclient/tests/functional/network/v2/test_subnet_pool.py +0 -6
- openstackclient/tests/unit/common/test_availability_zone.py +28 -30
- openstackclient/tests/unit/common/test_extension.py +1 -4
- openstackclient/tests/unit/common/test_limits.py +2 -4
- openstackclient/tests/unit/common/test_project_cleanup.py +3 -10
- openstackclient/tests/unit/common/test_quota.py +18 -24
- openstackclient/tests/unit/compute/v2/fakes.py +24 -11
- openstackclient/tests/unit/compute/v2/test_agent.py +1 -1
- openstackclient/tests/unit/compute/v2/test_aggregate.py +62 -72
- openstackclient/tests/unit/compute/v2/test_console.py +18 -30
- openstackclient/tests/unit/compute/v2/test_flavor.py +85 -89
- openstackclient/tests/unit/compute/v2/test_host.py +12 -19
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +23 -25
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -6
- openstackclient/tests/unit/compute/v2/test_keypair.py +25 -39
- openstackclient/tests/unit/compute/v2/test_server.py +316 -365
- openstackclient/tests/unit/compute/v2/test_server_backup.py +5 -17
- openstackclient/tests/unit/compute/v2/test_server_event.py +23 -25
- openstackclient/tests/unit/compute/v2/test_server_group.py +41 -33
- openstackclient/tests/unit/compute/v2/test_server_image.py +6 -18
- openstackclient/tests/unit/compute/v2/test_server_migration.py +45 -45
- openstackclient/tests/unit/compute/v2/test_server_volume.py +15 -31
- openstackclient/tests/unit/compute/v2/test_service.py +51 -56
- openstackclient/tests/unit/compute/v2/test_usage.py +10 -13
- openstackclient/tests/unit/fakes.py +4 -0
- openstackclient/tests/unit/identity/v3/test_mappings.py +9 -4
- openstackclient/tests/unit/identity/v3/test_trust.py +0 -2
- openstackclient/tests/unit/image/v1/fakes.py +2 -1
- openstackclient/tests/unit/image/v1/test_image.py +1 -1
- openstackclient/tests/unit/image/v2/fakes.py +82 -0
- openstackclient/tests/unit/image/v2/test_cache.py +214 -0
- openstackclient/tests/unit/image/v2/test_image.py +62 -4
- openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +5 -19
- openstackclient/tests/unit/image/v2/test_metadef_objects.py +162 -0
- openstackclient/tests/unit/image/v2/test_metadef_properties.py +227 -0
- openstackclient/tests/unit/integ/cli/test_shell.py +0 -2
- openstackclient/tests/unit/network/test_common.py +3 -3
- openstackclient/tests/unit/network/v2/fakes.py +1 -0
- openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +1133 -0
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +5 -13
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +1 -9
- openstackclient/tests/unit/network/v2/test_network.py +33 -0
- openstackclient/tests/unit/network/v2/test_network_compute.py +5 -11
- openstackclient/tests/unit/network/v2/test_network_trunk.py +6 -8
- openstackclient/tests/unit/network/v2/test_port.py +83 -38
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +7 -15
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +19 -27
- openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +3 -6
- openstackclient/tests/unit/network/v2/test_subnet.py +92 -0
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +11 -13
- openstackclient/tests/unit/test_shell.py +1 -7
- openstackclient/tests/unit/utils.py +10 -4
- openstackclient/tests/unit/volume/v1/fakes.py +7 -1
- openstackclient/tests/unit/volume/v1/test_qos_specs.py +2 -2
- openstackclient/tests/unit/volume/v1/test_service.py +1 -1
- openstackclient/tests/unit/volume/v1/test_transfer_request.py +2 -2
- openstackclient/tests/unit/volume/v1/test_type.py +2 -4
- openstackclient/tests/unit/volume/v1/test_volume.py +5 -7
- openstackclient/tests/unit/volume/v1/test_volume_backup.py +4 -4
- openstackclient/tests/unit/volume/v2/fakes.py +32 -12
- openstackclient/tests/unit/volume/v2/test_backup_record.py +1 -1
- openstackclient/tests/unit/volume/v2/test_consistency_group.py +4 -6
- openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +2 -4
- openstackclient/tests/unit/volume/v2/test_qos_specs.py +2 -2
- openstackclient/tests/unit/volume/v2/test_service.py +1 -1
- openstackclient/tests/unit/volume/v2/test_volume.py +78 -16
- openstackclient/tests/unit/volume/v2/test_volume_backend.py +10 -22
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +76 -89
- openstackclient/tests/unit/volume/v2/test_volume_host.py +1 -1
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +5 -7
- openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +4 -8
- openstackclient/tests/unit/volume/v2/test_volume_type.py +164 -24
- openstackclient/tests/unit/volume/v3/fakes.py +91 -15
- openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +3 -7
- openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +11 -31
- openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +6 -16
- openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +219 -157
- openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +32 -23
- openstackclient/tests/unit/volume/v3/test_volume.py +50 -48
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +17 -47
- openstackclient/tests/unit/volume/v3/test_volume_group.py +23 -65
- openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +88 -77
- openstackclient/tests/unit/volume/v3/test_volume_group_type.py +14 -42
- openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -28
- openstackclient/volume/v1/volume.py +2 -14
- openstackclient/volume/v2/volume.py +30 -15
- openstackclient/volume/v2/volume_backend.py +10 -18
- openstackclient/volume/v2/volume_backup.py +18 -15
- openstackclient/volume/v2/volume_snapshot.py +2 -12
- openstackclient/volume/v2/volume_type.py +211 -14
- openstackclient/volume/v3/block_storage_manage.py +72 -11
- openstackclient/volume/v3/block_storage_resource_filter.py +33 -11
- openstackclient/volume/v3/volume_attachment.py +2 -14
- openstackclient/volume/v3/volume_group_snapshot.py +27 -27
- openstackclient/volume/v3/volume_message.py +2 -13
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/AUTHORS +11 -0
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/METADATA +6 -5
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/RECORD +160 -151
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/entry_points.txt +23 -5
- python_openstackclient-6.5.0.dist-info/pbr.json +1 -0
- openstackclient/tests/unit/common/test_parseractions.py +0 -233
- python_openstackclient-6.3.0.dist-info/pbr.json +0 -1
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/WHEEL +0 -0
- {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/top_level.txt +0 -0
|
@@ -23,25 +23,13 @@ from openstackclient.tests.unit.image.v2 import fakes as image_fakes
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class TestServerBackup(compute_fakes.TestComputev2):
|
|
26
|
-
def setUp(self):
|
|
27
|
-
super(TestServerBackup, self).setUp()
|
|
28
|
-
|
|
29
|
-
# Get a shortcut to the compute client ServerManager Mock
|
|
30
|
-
self.app.client_manager.sdk_connection = mock.Mock()
|
|
31
|
-
self.app.client_manager.sdk_connection.compute = mock.Mock()
|
|
32
|
-
self.sdk_client = self.app.client_manager.sdk_connection.compute
|
|
33
|
-
|
|
34
|
-
# Set object attributes to be tested. Could be overwritten in subclass.
|
|
35
|
-
self.attrs = {}
|
|
36
|
-
|
|
37
26
|
def setup_servers_mock(self, count):
|
|
38
27
|
servers = compute_fakes.create_sdk_servers(
|
|
39
|
-
attrs=self.attrs,
|
|
40
28
|
count=count,
|
|
41
29
|
)
|
|
42
30
|
|
|
43
31
|
# This is the return value for compute_client.find_server()
|
|
44
|
-
self.
|
|
32
|
+
self.compute_sdk_client.find_server = compute_fakes.get_servers(
|
|
45
33
|
servers,
|
|
46
34
|
0,
|
|
47
35
|
)
|
|
@@ -122,7 +110,7 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
122
110
|
# data to be shown.
|
|
123
111
|
columns, data = self.cmd.take_action(parsed_args)
|
|
124
112
|
|
|
125
|
-
self.
|
|
113
|
+
self.compute_sdk_client.backup_server.assert_called_with(
|
|
126
114
|
servers[0].id,
|
|
127
115
|
servers[0].name,
|
|
128
116
|
'',
|
|
@@ -158,7 +146,7 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
158
146
|
# data to be shown.
|
|
159
147
|
columns, data = self.cmd.take_action(parsed_args)
|
|
160
148
|
|
|
161
|
-
self.
|
|
149
|
+
self.compute_sdk_client.backup_server.assert_called_with(
|
|
162
150
|
servers[0].id,
|
|
163
151
|
'image',
|
|
164
152
|
'daily',
|
|
@@ -198,7 +186,7 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
198
186
|
parsed_args,
|
|
199
187
|
)
|
|
200
188
|
|
|
201
|
-
self.
|
|
189
|
+
self.compute_sdk_client.backup_server.assert_called_with(
|
|
202
190
|
servers[0].id,
|
|
203
191
|
'image',
|
|
204
192
|
'daily',
|
|
@@ -239,7 +227,7 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
239
227
|
# data to be shown.
|
|
240
228
|
columns, data = self.cmd.take_action(parsed_args)
|
|
241
229
|
|
|
242
|
-
self.
|
|
230
|
+
self.compute_sdk_client.backup_server.assert_called_with(
|
|
243
231
|
servers[0].id,
|
|
244
232
|
'image',
|
|
245
233
|
'daily',
|
|
@@ -29,21 +29,13 @@ class TestServerEvent(compute_fakes.TestComputev2):
|
|
|
29
29
|
def setUp(self):
|
|
30
30
|
super(TestServerEvent, self).setUp()
|
|
31
31
|
|
|
32
|
-
self.app.client_manager.sdk_connection = mock.Mock()
|
|
33
|
-
self.app.client_manager.sdk_connection.compute = mock.Mock()
|
|
34
|
-
self.sdk_client = self.app.client_manager.sdk_connection.compute
|
|
35
|
-
self.sdk_client.find_server = mock.Mock()
|
|
36
|
-
self.sdk_client.server_actions = mock.Mock()
|
|
37
|
-
self.sdk_client.get_server_action = mock.Mock()
|
|
38
|
-
self.sdk_client.reset_mock()
|
|
39
|
-
|
|
40
32
|
patcher = mock.patch.object(
|
|
41
33
|
sdk_utils, 'supports_microversion', return_value=True
|
|
42
34
|
)
|
|
43
35
|
self.addCleanup(patcher.stop)
|
|
44
36
|
self.supports_microversion_mock = patcher.start()
|
|
45
37
|
self._set_mock_microversion(
|
|
46
|
-
self.
|
|
38
|
+
self.compute_client.api_version.get_string()
|
|
47
39
|
)
|
|
48
40
|
|
|
49
41
|
def _set_mock_microversion(self, mock_v):
|
|
@@ -98,8 +90,8 @@ class TestListServerEvent(TestServerEvent):
|
|
|
98
90
|
def setUp(self):
|
|
99
91
|
super().setUp()
|
|
100
92
|
|
|
101
|
-
self.
|
|
102
|
-
self.
|
|
93
|
+
self.compute_sdk_client.find_server.return_value = self.fake_server
|
|
94
|
+
self.compute_sdk_client.server_actions.return_value = [
|
|
103
95
|
self.fake_event,
|
|
104
96
|
]
|
|
105
97
|
|
|
@@ -117,11 +109,13 @@ class TestListServerEvent(TestServerEvent):
|
|
|
117
109
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
118
110
|
columns, data = self.cmd.take_action(parsed_args)
|
|
119
111
|
|
|
120
|
-
self.
|
|
112
|
+
self.compute_sdk_client.find_server.assert_called_with(
|
|
121
113
|
self.fake_server.name,
|
|
122
114
|
ignore_missing=False,
|
|
123
115
|
)
|
|
124
|
-
self.
|
|
116
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
117
|
+
self.fake_server.id
|
|
118
|
+
)
|
|
125
119
|
|
|
126
120
|
self.assertEqual(self.columns, columns)
|
|
127
121
|
self.assertEqual(self.data, tuple(data))
|
|
@@ -139,11 +133,13 @@ class TestListServerEvent(TestServerEvent):
|
|
|
139
133
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
140
134
|
columns, data = self.cmd.take_action(parsed_args)
|
|
141
135
|
|
|
142
|
-
self.
|
|
136
|
+
self.compute_sdk_client.find_server.assert_called_with(
|
|
143
137
|
self.fake_server.name,
|
|
144
138
|
ignore_missing=False,
|
|
145
139
|
)
|
|
146
|
-
self.
|
|
140
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
141
|
+
self.fake_server.id
|
|
142
|
+
)
|
|
147
143
|
|
|
148
144
|
self.assertEqual(self.long_columns, columns)
|
|
149
145
|
self.assertEqual(self.long_data, tuple(data))
|
|
@@ -164,11 +160,11 @@ class TestListServerEvent(TestServerEvent):
|
|
|
164
160
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
165
161
|
columns, data = self.cmd.take_action(parsed_args)
|
|
166
162
|
|
|
167
|
-
self.
|
|
163
|
+
self.compute_sdk_client.find_server.assert_called_with(
|
|
168
164
|
self.fake_server.name,
|
|
169
165
|
ignore_missing=False,
|
|
170
166
|
)
|
|
171
|
-
self.
|
|
167
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
172
168
|
self.fake_server.id,
|
|
173
169
|
changes_since='2016-03-04T06:27:59Z',
|
|
174
170
|
)
|
|
@@ -244,11 +240,11 @@ class TestListServerEvent(TestServerEvent):
|
|
|
244
240
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
245
241
|
columns, data = self.cmd.take_action(parsed_args)
|
|
246
242
|
|
|
247
|
-
self.
|
|
243
|
+
self.compute_sdk_client.find_server.assert_called_with(
|
|
248
244
|
self.fake_server.name,
|
|
249
245
|
ignore_missing=False,
|
|
250
246
|
)
|
|
251
|
-
self.
|
|
247
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
252
248
|
self.fake_server.id,
|
|
253
249
|
changes_before='2016-03-04T06:27:59Z',
|
|
254
250
|
)
|
|
@@ -320,7 +316,7 @@ class TestListServerEvent(TestServerEvent):
|
|
|
320
316
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
321
317
|
self.cmd.take_action(parsed_args)
|
|
322
318
|
|
|
323
|
-
self.
|
|
319
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
324
320
|
self.fake_server.id,
|
|
325
321
|
limit=1,
|
|
326
322
|
paginated=False,
|
|
@@ -367,7 +363,7 @@ class TestListServerEvent(TestServerEvent):
|
|
|
367
363
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
368
364
|
self.cmd.take_action(parsed_args)
|
|
369
365
|
|
|
370
|
-
self.
|
|
366
|
+
self.compute_sdk_client.server_actions.assert_called_with(
|
|
371
367
|
self.fake_server.id,
|
|
372
368
|
marker='test_event',
|
|
373
369
|
)
|
|
@@ -421,8 +417,10 @@ class TestShowServerEvent(TestServerEvent):
|
|
|
421
417
|
def setUp(self):
|
|
422
418
|
super().setUp()
|
|
423
419
|
|
|
424
|
-
self.
|
|
425
|
-
self.
|
|
420
|
+
self.compute_sdk_client.find_server.return_value = self.fake_server
|
|
421
|
+
self.compute_sdk_client.get_server_action.return_value = (
|
|
422
|
+
self.fake_event
|
|
423
|
+
)
|
|
426
424
|
|
|
427
425
|
self.cmd = server_event.ShowServerEvent(self.app, None)
|
|
428
426
|
|
|
@@ -439,11 +437,11 @@ class TestShowServerEvent(TestServerEvent):
|
|
|
439
437
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
440
438
|
columns, data = self.cmd.take_action(parsed_args)
|
|
441
439
|
|
|
442
|
-
self.
|
|
440
|
+
self.compute_sdk_client.find_server.assert_called_with(
|
|
443
441
|
self.fake_server.name,
|
|
444
442
|
ignore_missing=False,
|
|
445
443
|
)
|
|
446
|
-
self.
|
|
444
|
+
self.compute_sdk_client.get_server_action.assert_called_with(
|
|
447
445
|
self.fake_event.request_id,
|
|
448
446
|
self.fake_server.id,
|
|
449
447
|
)
|
|
@@ -47,20 +47,12 @@ class TestServerGroup(compute_fakes.TestComputev2):
|
|
|
47
47
|
fake_server_group.user_id,
|
|
48
48
|
)
|
|
49
49
|
|
|
50
|
-
def setUp(self):
|
|
51
|
-
super().setUp()
|
|
52
|
-
|
|
53
|
-
# Create and get a shortcut to the compute client mock
|
|
54
|
-
self.app.client_manager.sdk_connection = mock.Mock()
|
|
55
|
-
self.sdk_client = self.app.client_manager.sdk_connection.compute
|
|
56
|
-
self.sdk_client.reset_mock()
|
|
57
|
-
|
|
58
50
|
|
|
59
51
|
class TestServerGroupCreate(TestServerGroup):
|
|
60
52
|
def setUp(self):
|
|
61
53
|
super().setUp()
|
|
62
54
|
|
|
63
|
-
self.
|
|
55
|
+
self.compute_sdk_client.create_server_group.return_value = (
|
|
64
56
|
self.fake_server_group
|
|
65
57
|
)
|
|
66
58
|
self.cmd = server_group.CreateServerGroup(self.app, None)
|
|
@@ -78,7 +70,7 @@ class TestServerGroupCreate(TestServerGroup):
|
|
|
78
70
|
]
|
|
79
71
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
80
72
|
columns, data = self.cmd.take_action(parsed_args)
|
|
81
|
-
self.
|
|
73
|
+
self.compute_sdk_client.create_server_group.assert_called_once_with(
|
|
82
74
|
name=parsed_args.name,
|
|
83
75
|
policy=parsed_args.policy,
|
|
84
76
|
)
|
|
@@ -99,7 +91,7 @@ class TestServerGroupCreate(TestServerGroup):
|
|
|
99
91
|
]
|
|
100
92
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
101
93
|
columns, data = self.cmd.take_action(parsed_args)
|
|
102
|
-
self.
|
|
94
|
+
self.compute_sdk_client.create_server_group.assert_called_once_with(
|
|
103
95
|
name=parsed_args.name,
|
|
104
96
|
policy=parsed_args.policy,
|
|
105
97
|
)
|
|
@@ -142,7 +134,7 @@ class TestServerGroupCreate(TestServerGroup):
|
|
|
142
134
|
]
|
|
143
135
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
144
136
|
columns, data = self.cmd.take_action(parsed_args)
|
|
145
|
-
self.
|
|
137
|
+
self.compute_sdk_client.create_server_group.assert_called_once_with(
|
|
146
138
|
name=parsed_args.name,
|
|
147
139
|
policy=parsed_args.policy,
|
|
148
140
|
rules=parsed_args.rules,
|
|
@@ -181,7 +173,9 @@ class TestServerGroupDelete(TestServerGroup):
|
|
|
181
173
|
def setUp(self):
|
|
182
174
|
super().setUp()
|
|
183
175
|
|
|
184
|
-
self.
|
|
176
|
+
self.compute_sdk_client.find_server_group.return_value = (
|
|
177
|
+
self.fake_server_group
|
|
178
|
+
)
|
|
185
179
|
self.cmd = server_group.DeleteServerGroup(self.app, None)
|
|
186
180
|
|
|
187
181
|
def test_server_group_delete(self):
|
|
@@ -193,10 +187,10 @@ class TestServerGroupDelete(TestServerGroup):
|
|
|
193
187
|
]
|
|
194
188
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
195
189
|
result = self.cmd.take_action(parsed_args)
|
|
196
|
-
self.
|
|
190
|
+
self.compute_sdk_client.find_server_group.assert_called_once_with(
|
|
197
191
|
'affinity_group'
|
|
198
192
|
)
|
|
199
|
-
self.
|
|
193
|
+
self.compute_sdk_client.delete_server_group.assert_called_once_with(
|
|
200
194
|
self.fake_server_group.id
|
|
201
195
|
)
|
|
202
196
|
self.assertIsNone(result)
|
|
@@ -208,15 +202,21 @@ class TestServerGroupDelete(TestServerGroup):
|
|
|
208
202
|
]
|
|
209
203
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
210
204
|
result = self.cmd.take_action(parsed_args)
|
|
211
|
-
self.
|
|
212
|
-
|
|
205
|
+
self.compute_sdk_client.find_server_group.assert_any_call(
|
|
206
|
+
'affinity_group'
|
|
207
|
+
)
|
|
208
|
+
self.compute_sdk_client.find_server_group.assert_any_call(
|
|
213
209
|
'anti_affinity_group'
|
|
214
210
|
)
|
|
215
|
-
self.
|
|
211
|
+
self.compute_sdk_client.delete_server_group.assert_called_with(
|
|
216
212
|
self.fake_server_group.id
|
|
217
213
|
)
|
|
218
|
-
self.assertEqual(
|
|
219
|
-
|
|
214
|
+
self.assertEqual(
|
|
215
|
+
2, self.compute_sdk_client.find_server_group.call_count
|
|
216
|
+
)
|
|
217
|
+
self.assertEqual(
|
|
218
|
+
2, self.compute_sdk_client.delete_server_group.call_count
|
|
219
|
+
)
|
|
220
220
|
self.assertIsNone(result)
|
|
221
221
|
|
|
222
222
|
def test_server_group_delete_no_input(self):
|
|
@@ -237,7 +237,7 @@ class TestServerGroupDelete(TestServerGroup):
|
|
|
237
237
|
]
|
|
238
238
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
239
239
|
|
|
240
|
-
self.
|
|
240
|
+
self.compute_sdk_client.find_server_group.side_effect = [
|
|
241
241
|
self.fake_server_group,
|
|
242
242
|
exceptions.CommandError,
|
|
243
243
|
]
|
|
@@ -247,12 +247,16 @@ class TestServerGroupDelete(TestServerGroup):
|
|
|
247
247
|
except exceptions.CommandError as e:
|
|
248
248
|
self.assertEqual('1 of 2 server groups failed to delete.', str(e))
|
|
249
249
|
|
|
250
|
-
self.
|
|
251
|
-
|
|
250
|
+
self.compute_sdk_client.find_server_group.assert_any_call(
|
|
251
|
+
'affinity_group'
|
|
252
|
+
)
|
|
253
|
+
self.compute_sdk_client.find_server_group.assert_any_call(
|
|
252
254
|
'anti_affinity_group'
|
|
253
255
|
)
|
|
254
|
-
self.assertEqual(
|
|
255
|
-
|
|
256
|
+
self.assertEqual(
|
|
257
|
+
2, self.compute_sdk_client.find_server_group.call_count
|
|
258
|
+
)
|
|
259
|
+
self.compute_sdk_client.delete_server_group.assert_called_once_with(
|
|
256
260
|
self.fake_server_group.id
|
|
257
261
|
)
|
|
258
262
|
|
|
@@ -337,7 +341,9 @@ class TestServerGroupList(TestServerGroup):
|
|
|
337
341
|
def setUp(self):
|
|
338
342
|
super().setUp()
|
|
339
343
|
|
|
340
|
-
self.
|
|
344
|
+
self.compute_sdk_client.server_groups.return_value = [
|
|
345
|
+
self.fake_server_group
|
|
346
|
+
]
|
|
341
347
|
self.cmd = server_group.ListServerGroup(self.app, None)
|
|
342
348
|
|
|
343
349
|
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
|
@@ -352,7 +358,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
352
358
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
353
359
|
columns, data = self.cmd.take_action(parsed_args)
|
|
354
360
|
|
|
355
|
-
self.
|
|
361
|
+
self.compute_sdk_client.server_groups.assert_called_once_with()
|
|
356
362
|
|
|
357
363
|
self.assertCountEqual(self.list_columns, columns)
|
|
358
364
|
self.assertCountEqual(self.list_data, tuple(data))
|
|
@@ -371,7 +377,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
371
377
|
]
|
|
372
378
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
373
379
|
columns, data = self.cmd.take_action(parsed_args)
|
|
374
|
-
self.
|
|
380
|
+
self.compute_sdk_client.server_groups.assert_called_once_with(
|
|
375
381
|
all_projects=True
|
|
376
382
|
)
|
|
377
383
|
|
|
@@ -394,7 +400,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
394
400
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
395
401
|
self.cmd.take_action(parsed_args)
|
|
396
402
|
|
|
397
|
-
self.
|
|
403
|
+
self.compute_sdk_client.server_groups.assert_called_once_with(limit=1)
|
|
398
404
|
|
|
399
405
|
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
|
400
406
|
def test_server_group_list_with_offset(self, sm_mock):
|
|
@@ -412,7 +418,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
412
418
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
413
419
|
self.cmd.take_action(parsed_args)
|
|
414
420
|
|
|
415
|
-
self.
|
|
421
|
+
self.compute_sdk_client.server_groups.assert_called_once_with(offset=5)
|
|
416
422
|
|
|
417
423
|
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
|
418
424
|
def test_server_group_list_v264(self, sm_mock):
|
|
@@ -423,7 +429,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
423
429
|
]
|
|
424
430
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
425
431
|
columns, data = self.cmd.take_action(parsed_args)
|
|
426
|
-
self.
|
|
432
|
+
self.compute_sdk_client.server_groups.assert_called_once_with()
|
|
427
433
|
|
|
428
434
|
self.assertCountEqual(self.list_columns_v264, columns)
|
|
429
435
|
self.assertCountEqual(self.list_data_v264, tuple(data))
|
|
@@ -440,7 +446,7 @@ class TestServerGroupList(TestServerGroup):
|
|
|
440
446
|
]
|
|
441
447
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
442
448
|
columns, data = self.cmd.take_action(parsed_args)
|
|
443
|
-
self.
|
|
449
|
+
self.compute_sdk_client.server_groups.assert_called_once_with(
|
|
444
450
|
all_projects=True
|
|
445
451
|
)
|
|
446
452
|
|
|
@@ -452,7 +458,9 @@ class TestServerGroupShow(TestServerGroup):
|
|
|
452
458
|
def setUp(self):
|
|
453
459
|
super().setUp()
|
|
454
460
|
|
|
455
|
-
self.
|
|
461
|
+
self.compute_sdk_client.find_server_group.return_value = (
|
|
462
|
+
self.fake_server_group
|
|
463
|
+
)
|
|
456
464
|
self.cmd = server_group.ShowServerGroup(self.app, None)
|
|
457
465
|
|
|
458
466
|
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
|
@@ -22,25 +22,13 @@ from openstackclient.tests.unit.image.v2 import fakes as image_fakes
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class TestServerImage(compute_fakes.TestComputev2):
|
|
25
|
-
def setUp(self):
|
|
26
|
-
super().setUp()
|
|
27
|
-
|
|
28
|
-
# Get a shortcut to the compute client ServerManager Mock
|
|
29
|
-
self.app.client_manager.sdk_connection = mock.Mock()
|
|
30
|
-
self.app.client_manager.sdk_connection.compute = mock.Mock()
|
|
31
|
-
self.sdk_client = self.app.client_manager.sdk_connection.compute
|
|
32
|
-
|
|
33
|
-
# Set object attributes to be tested. Could be overwritten in subclass.
|
|
34
|
-
self.attrs = {}
|
|
35
|
-
|
|
36
25
|
def setup_servers_mock(self, count):
|
|
37
26
|
servers = compute_fakes.create_sdk_servers(
|
|
38
|
-
attrs=self.attrs,
|
|
39
27
|
count=count,
|
|
40
28
|
)
|
|
41
29
|
|
|
42
30
|
# This is the return value for compute_client.find_server()
|
|
43
|
-
self.
|
|
31
|
+
self.compute_sdk_client.find_server = compute_fakes.get_servers(
|
|
44
32
|
servers,
|
|
45
33
|
0,
|
|
46
34
|
)
|
|
@@ -97,7 +85,7 @@ class TestServerImageCreate(TestServerImage):
|
|
|
97
85
|
)
|
|
98
86
|
|
|
99
87
|
self.image_client.find_image = mock.Mock(side_effect=images)
|
|
100
|
-
self.
|
|
88
|
+
self.compute_sdk_client.create_server_image = mock.Mock(
|
|
101
89
|
return_value=images[0],
|
|
102
90
|
)
|
|
103
91
|
return images
|
|
@@ -119,7 +107,7 @@ class TestServerImageCreate(TestServerImage):
|
|
|
119
107
|
# data to be shown.
|
|
120
108
|
columns, data = self.cmd.take_action(parsed_args)
|
|
121
109
|
|
|
122
|
-
self.
|
|
110
|
+
self.compute_sdk_client.create_server_image.assert_called_with(
|
|
123
111
|
servers[0].id,
|
|
124
112
|
servers[0].name,
|
|
125
113
|
None,
|
|
@@ -151,7 +139,7 @@ class TestServerImageCreate(TestServerImage):
|
|
|
151
139
|
# data to be shown.
|
|
152
140
|
columns, data = self.cmd.take_action(parsed_args)
|
|
153
141
|
|
|
154
|
-
self.
|
|
142
|
+
self.compute_sdk_client.create_server_image.assert_called_with(
|
|
155
143
|
servers[0].id,
|
|
156
144
|
'img-nam',
|
|
157
145
|
{'key': 'value'},
|
|
@@ -181,7 +169,7 @@ class TestServerImageCreate(TestServerImage):
|
|
|
181
169
|
parsed_args,
|
|
182
170
|
)
|
|
183
171
|
|
|
184
|
-
self.
|
|
172
|
+
self.compute_sdk_client.create_server_image.assert_called_with(
|
|
185
173
|
servers[0].id,
|
|
186
174
|
servers[0].name,
|
|
187
175
|
None,
|
|
@@ -211,7 +199,7 @@ class TestServerImageCreate(TestServerImage):
|
|
|
211
199
|
# data to be shown.
|
|
212
200
|
columns, data = self.cmd.take_action(parsed_args)
|
|
213
201
|
|
|
214
|
-
self.
|
|
202
|
+
self.compute_sdk_client.create_server_image.assert_called_with(
|
|
215
203
|
servers[0].id,
|
|
216
204
|
servers[0].name,
|
|
217
205
|
None,
|