python-openstackclient 8.0.0__py3-none-any.whl → 8.2.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/api/compute_v2.py +2 -2
- openstackclient/api/volume_v2.py +60 -0
- openstackclient/api/volume_v3.py +60 -0
- openstackclient/compute/client.py +5 -0
- openstackclient/compute/v2/console.py +7 -0
- openstackclient/compute/v2/console_connection.py +48 -0
- openstackclient/compute/v2/flavor.py +14 -1
- openstackclient/compute/v2/keypair.py +10 -3
- openstackclient/compute/v2/server.py +76 -13
- openstackclient/compute/v2/server_event.py +1 -1
- openstackclient/identity/common.py +85 -11
- openstackclient/identity/v3/application_credential.py +88 -87
- openstackclient/identity/v3/domain.py +67 -49
- openstackclient/identity/v3/group.py +113 -68
- openstackclient/identity/v3/project.py +42 -20
- openstackclient/identity/v3/role.py +7 -2
- openstackclient/identity/v3/user.py +38 -5
- openstackclient/image/client.py +5 -0
- openstackclient/image/v1/image.py +16 -1
- openstackclient/image/v2/cache.py +10 -6
- openstackclient/image/v2/image.py +59 -12
- openstackclient/image/v2/metadef_objects.py +8 -2
- openstackclient/image/v2/metadef_properties.py +9 -2
- openstackclient/network/client.py +0 -6
- openstackclient/network/v2/floating_ip.py +58 -29
- openstackclient/network/v2/network_qos_rule.py +3 -11
- openstackclient/network/v2/port.py +16 -0
- openstackclient/network/v2/router.py +1 -1
- openstackclient/network/v2/security_group.py +49 -7
- openstackclient/network/v2/security_group_rule.py +18 -1
- openstackclient/shell.py +1 -1
- openstackclient/tests/functional/base.py +5 -1
- openstackclient/tests/functional/compute/v2/test_keypair.py +41 -5
- openstackclient/tests/functional/identity/v3/test_access_rule.py +1 -1
- openstackclient/tests/functional/identity/v3/test_application_credential.py +7 -7
- openstackclient/tests/functional/image/v2/test_image.py +36 -14
- openstackclient/tests/functional/volume/v2/test_volume.py +1 -1
- openstackclient/tests/functional/volume/v3/test_volume.py +2 -2
- openstackclient/tests/unit/api/test_volume_v2.py +124 -0
- openstackclient/tests/unit/api/test_volume_v3.py +124 -0
- openstackclient/tests/unit/compute/v2/fakes.py +81 -305
- openstackclient/tests/unit/compute/v2/test_console.py +18 -1
- openstackclient/tests/unit/compute/v2/test_console_connection.py +72 -0
- openstackclient/tests/unit/compute/v2/test_flavor.py +160 -175
- openstackclient/tests/unit/compute/v2/test_keypair.py +12 -5
- openstackclient/tests/unit/compute/v2/test_server.py +211 -97
- openstackclient/tests/unit/compute/v2/test_server_backup.py +32 -71
- openstackclient/tests/unit/compute/v2/test_server_event.py +2 -2
- openstackclient/tests/unit/compute/v2/test_server_image.py +33 -72
- openstackclient/tests/unit/compute/v2/test_server_migration.py +4 -4
- openstackclient/tests/unit/identity/v3/test_application_credential.py +93 -65
- openstackclient/tests/unit/identity/v3/test_domain.py +117 -107
- openstackclient/tests/unit/identity/v3/test_group.py +353 -202
- openstackclient/tests/unit/identity/v3/test_project.py +46 -53
- openstackclient/tests/unit/identity/v3/test_role.py +2 -8
- openstackclient/tests/unit/identity/v3/test_user.py +86 -6
- openstackclient/tests/unit/image/v1/test_image.py +55 -9
- openstackclient/tests/unit/image/v2/test_image.py +128 -58
- openstackclient/tests/unit/image/v2/test_metadef_objects.py +22 -0
- openstackclient/tests/unit/image/v2/test_metadef_properties.py +24 -10
- openstackclient/tests/unit/network/v2/fakes.py +406 -485
- openstackclient/tests/unit/network/v2/test_floating_ip_network.py +13 -19
- openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +2 -2
- openstackclient/tests/unit/network/v2/test_ndp_proxy.py +3 -5
- openstackclient/tests/unit/network/v2/test_network.py +4 -4
- openstackclient/tests/unit/network/v2/test_network_agent.py +15 -29
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +16 -19
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +79 -152
- openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +4 -6
- openstackclient/tests/unit/network/v2/test_network_rbac.py +2 -2
- openstackclient/tests/unit/network/v2/test_port.py +57 -17
- openstackclient/tests/unit/network/v2/test_router.py +73 -57
- openstackclient/tests/unit/network/v2/test_security_group_network.py +31 -27
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +1 -3
- openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +82 -39
- openstackclient/tests/unit/volume/v2/fakes.py +1 -2
- openstackclient/tests/unit/volume/v2/test_service.py +57 -91
- openstackclient/tests/unit/volume/v2/test_volume.py +466 -410
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +141 -148
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +293 -283
- openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +61 -71
- openstackclient/tests/unit/volume/v3/test_service.py +221 -141
- openstackclient/tests/unit/volume/v3/test_volume.py +569 -534
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +1 -1
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +198 -203
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +682 -47
- openstackclient/volume/v2/service.py +41 -38
- openstackclient/volume/v2/volume.py +140 -88
- openstackclient/volume/v2/volume_backup.py +9 -3
- openstackclient/volume/v2/volume_snapshot.py +121 -84
- openstackclient/volume/v3/block_storage_log_level.py +22 -28
- openstackclient/volume/v3/service.py +105 -14
- openstackclient/volume/v3/volume.py +287 -99
- openstackclient/volume/v3/volume_backup.py +24 -19
- openstackclient/volume/v3/volume_group.py +1 -1
- openstackclient/volume/v3/volume_snapshot.py +485 -10
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/AUTHORS +13 -0
- python_openstackclient-8.2.0.dist-info/METADATA +264 -0
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/RECORD +104 -98
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/entry_points.txt +7 -6
- python_openstackclient-8.2.0.dist-info/pbr.json +1 -0
- python_openstackclient-8.0.0.dist-info/METADATA +0 -166
- python_openstackclient-8.0.0.dist-info/pbr.json +0 -1
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/WHEEL +0 -0
- {python_openstackclient-8.0.0.dist-info → python_openstackclient-8.2.0.dist-info}/top_level.txt +0 -0
|
@@ -22,22 +22,8 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
|
|
|
22
22
|
from openstackclient.tests.unit.image.v2 import fakes as image_fakes
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
class
|
|
26
|
-
def setup_servers_mock(self, count):
|
|
27
|
-
servers = compute_fakes.create_sdk_servers(
|
|
28
|
-
count=count,
|
|
29
|
-
)
|
|
30
|
-
self.compute_client.find_server = compute_fakes.get_servers(
|
|
31
|
-
servers,
|
|
32
|
-
0,
|
|
33
|
-
)
|
|
34
|
-
return servers
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class TestServerBackupCreate(TestServerBackup):
|
|
38
|
-
# Just return whatever Image is testing with these days
|
|
25
|
+
class TestServerBackupCreate(compute_fakes.TestComputev2):
|
|
39
26
|
def image_columns(self, image):
|
|
40
|
-
# columnlist = tuple(sorted(image.keys()))
|
|
41
27
|
columnlist = (
|
|
42
28
|
'id',
|
|
43
29
|
'name',
|
|
@@ -64,42 +50,27 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
64
50
|
def setUp(self):
|
|
65
51
|
super().setUp()
|
|
66
52
|
|
|
53
|
+
self.server = compute_fakes.create_one_server()
|
|
54
|
+
self.compute_client.find_server.return_value = self.server
|
|
55
|
+
|
|
56
|
+
self.image = image_fakes.create_one_image(
|
|
57
|
+
{'name': self.server.name, 'status': 'active'}
|
|
58
|
+
)
|
|
59
|
+
self.image_client.find_image.return_value = self.image
|
|
60
|
+
|
|
67
61
|
# Get the command object to test
|
|
68
62
|
self.cmd = server_backup.CreateServerBackup(self.app, None)
|
|
69
63
|
|
|
70
|
-
def setup_images_mock(self, count, servers=None):
|
|
71
|
-
if servers:
|
|
72
|
-
images = image_fakes.create_images(
|
|
73
|
-
attrs={
|
|
74
|
-
'name': servers[0].name,
|
|
75
|
-
'status': 'active',
|
|
76
|
-
},
|
|
77
|
-
count=count,
|
|
78
|
-
)
|
|
79
|
-
else:
|
|
80
|
-
images = image_fakes.create_images(
|
|
81
|
-
attrs={
|
|
82
|
-
'status': 'active',
|
|
83
|
-
},
|
|
84
|
-
count=count,
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
self.image_client.find_image = mock.Mock(side_effect=images)
|
|
88
|
-
return images
|
|
89
|
-
|
|
90
64
|
def test_server_backup_defaults(self):
|
|
91
|
-
servers = self.setup_servers_mock(count=1)
|
|
92
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
93
|
-
|
|
94
65
|
arglist = [
|
|
95
|
-
|
|
66
|
+
self.server.id,
|
|
96
67
|
]
|
|
97
68
|
verifylist = [
|
|
98
69
|
('name', None),
|
|
99
70
|
('type', None),
|
|
100
71
|
('rotate', None),
|
|
101
72
|
('wait', False),
|
|
102
|
-
('server',
|
|
73
|
+
('server', self.server.id),
|
|
103
74
|
]
|
|
104
75
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
105
76
|
|
|
@@ -109,19 +80,16 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
109
80
|
columns, data = self.cmd.take_action(parsed_args)
|
|
110
81
|
|
|
111
82
|
self.compute_client.backup_server.assert_called_with(
|
|
112
|
-
|
|
113
|
-
|
|
83
|
+
self.server.id,
|
|
84
|
+
self.server.name,
|
|
114
85
|
'',
|
|
115
86
|
1,
|
|
116
87
|
)
|
|
117
88
|
|
|
118
|
-
self.assertEqual(self.image_columns(
|
|
119
|
-
self.assertCountEqual(self.image_data(
|
|
89
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
90
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
120
91
|
|
|
121
92
|
def test_server_backup_create_options(self):
|
|
122
|
-
servers = self.setup_servers_mock(count=1)
|
|
123
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
124
|
-
|
|
125
93
|
arglist = [
|
|
126
94
|
'--name',
|
|
127
95
|
'image',
|
|
@@ -129,13 +97,13 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
129
97
|
'daily',
|
|
130
98
|
'--rotate',
|
|
131
99
|
'2',
|
|
132
|
-
|
|
100
|
+
self.server.id,
|
|
133
101
|
]
|
|
134
102
|
verifylist = [
|
|
135
103
|
('name', 'image'),
|
|
136
104
|
('type', 'daily'),
|
|
137
105
|
('rotate', 2),
|
|
138
|
-
('server',
|
|
106
|
+
('server', self.server.id),
|
|
139
107
|
]
|
|
140
108
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
141
109
|
|
|
@@ -145,22 +113,18 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
145
113
|
columns, data = self.cmd.take_action(parsed_args)
|
|
146
114
|
|
|
147
115
|
self.compute_client.backup_server.assert_called_with(
|
|
148
|
-
|
|
116
|
+
self.server.id,
|
|
149
117
|
'image',
|
|
150
118
|
'daily',
|
|
151
119
|
2,
|
|
152
120
|
)
|
|
153
121
|
|
|
154
|
-
self.assertEqual(self.image_columns(
|
|
155
|
-
self.assertCountEqual(self.image_data(
|
|
122
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
123
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
156
124
|
|
|
157
125
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=False)
|
|
158
126
|
def test_server_backup_wait_fail(self, mock_wait_for_status):
|
|
159
|
-
|
|
160
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
161
|
-
self.image_client.get_image = mock.Mock(
|
|
162
|
-
side_effect=images[0],
|
|
163
|
-
)
|
|
127
|
+
self.image_client.get_image.return_value = self.image
|
|
164
128
|
|
|
165
129
|
arglist = [
|
|
166
130
|
'--name',
|
|
@@ -168,13 +132,13 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
168
132
|
'--type',
|
|
169
133
|
'daily',
|
|
170
134
|
'--wait',
|
|
171
|
-
|
|
135
|
+
self.server.id,
|
|
172
136
|
]
|
|
173
137
|
verifylist = [
|
|
174
138
|
('name', 'image'),
|
|
175
139
|
('type', 'daily'),
|
|
176
140
|
('wait', True),
|
|
177
|
-
('server',
|
|
141
|
+
('server', self.server.id),
|
|
178
142
|
]
|
|
179
143
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
180
144
|
|
|
@@ -185,23 +149,20 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
185
149
|
)
|
|
186
150
|
|
|
187
151
|
self.compute_client.backup_server.assert_called_with(
|
|
188
|
-
|
|
152
|
+
self.server.id,
|
|
189
153
|
'image',
|
|
190
154
|
'daily',
|
|
191
155
|
1,
|
|
192
156
|
)
|
|
193
157
|
|
|
194
158
|
mock_wait_for_status.assert_called_once_with(
|
|
195
|
-
self.image_client.get_image,
|
|
159
|
+
self.image_client.get_image, self.image.id, callback=mock.ANY
|
|
196
160
|
)
|
|
197
161
|
|
|
198
162
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
|
199
163
|
def test_server_backup_wait_ok(self, mock_wait_for_status):
|
|
200
|
-
servers = self.setup_servers_mock(count=1)
|
|
201
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
202
|
-
|
|
203
164
|
self.image_client.get_image = mock.Mock(
|
|
204
|
-
side_effect=
|
|
165
|
+
side_effect=self.image,
|
|
205
166
|
)
|
|
206
167
|
|
|
207
168
|
arglist = [
|
|
@@ -210,13 +171,13 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
210
171
|
'--type',
|
|
211
172
|
'daily',
|
|
212
173
|
'--wait',
|
|
213
|
-
|
|
174
|
+
self.server.id,
|
|
214
175
|
]
|
|
215
176
|
verifylist = [
|
|
216
177
|
('name', 'image'),
|
|
217
178
|
('type', 'daily'),
|
|
218
179
|
('wait', True),
|
|
219
|
-
('server',
|
|
180
|
+
('server', self.server.id),
|
|
220
181
|
]
|
|
221
182
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
222
183
|
|
|
@@ -226,15 +187,15 @@ class TestServerBackupCreate(TestServerBackup):
|
|
|
226
187
|
columns, data = self.cmd.take_action(parsed_args)
|
|
227
188
|
|
|
228
189
|
self.compute_client.backup_server.assert_called_with(
|
|
229
|
-
|
|
190
|
+
self.server.id,
|
|
230
191
|
'image',
|
|
231
192
|
'daily',
|
|
232
193
|
1,
|
|
233
194
|
)
|
|
234
195
|
|
|
235
196
|
mock_wait_for_status.assert_called_once_with(
|
|
236
|
-
self.image_client.get_image,
|
|
197
|
+
self.image_client.get_image, self.image.id, callback=mock.ANY
|
|
237
198
|
)
|
|
238
199
|
|
|
239
|
-
self.assertEqual(self.image_columns(
|
|
240
|
-
self.assertCountEqual(self.image_data(
|
|
200
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
201
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
@@ -22,7 +22,7 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class TestListServerEvent(compute_fakes.TestComputev2):
|
|
25
|
-
fake_server = compute_fakes.
|
|
25
|
+
fake_server = compute_fakes.create_one_server()
|
|
26
26
|
fake_event = compute_fakes.create_one_server_action()
|
|
27
27
|
|
|
28
28
|
columns = (
|
|
@@ -366,7 +366,7 @@ class TestListServerEvent(compute_fakes.TestComputev2):
|
|
|
366
366
|
|
|
367
367
|
|
|
368
368
|
class TestShowServerEvent(compute_fakes.TestComputev2):
|
|
369
|
-
fake_server = compute_fakes.
|
|
369
|
+
fake_server = compute_fakes.create_one_server()
|
|
370
370
|
fake_event = compute_fakes.create_one_server_action()
|
|
371
371
|
columns = (
|
|
372
372
|
'action',
|
|
@@ -21,21 +21,8 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
|
|
|
21
21
|
from openstackclient.tests.unit.image.v2 import fakes as image_fakes
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
class
|
|
25
|
-
def setup_servers_mock(self, count):
|
|
26
|
-
servers = compute_fakes.create_sdk_servers(
|
|
27
|
-
count=count,
|
|
28
|
-
)
|
|
29
|
-
self.compute_client.find_server = compute_fakes.get_servers(
|
|
30
|
-
servers,
|
|
31
|
-
0,
|
|
32
|
-
)
|
|
33
|
-
return servers
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class TestServerImageCreate(TestServerImage):
|
|
24
|
+
class TestServerImageCreate(compute_fakes.TestComputev2):
|
|
37
25
|
def image_columns(self, image):
|
|
38
|
-
# columnlist = tuple(sorted(image.keys()))
|
|
39
26
|
columnlist = (
|
|
40
27
|
'id',
|
|
41
28
|
'name',
|
|
@@ -62,41 +49,24 @@ class TestServerImageCreate(TestServerImage):
|
|
|
62
49
|
def setUp(self):
|
|
63
50
|
super().setUp()
|
|
64
51
|
|
|
65
|
-
|
|
66
|
-
self.
|
|
52
|
+
self.server = compute_fakes.create_one_server()
|
|
53
|
+
self.compute_client.find_server.return_value = self.server
|
|
67
54
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
images = image_fakes.create_images(
|
|
71
|
-
attrs={
|
|
72
|
-
'name': servers[0].name,
|
|
73
|
-
'status': 'active',
|
|
74
|
-
},
|
|
75
|
-
count=count,
|
|
76
|
-
)
|
|
77
|
-
else:
|
|
78
|
-
images = image_fakes.create_images(
|
|
79
|
-
attrs={
|
|
80
|
-
'status': 'active',
|
|
81
|
-
},
|
|
82
|
-
count=count,
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
self.image_client.find_image = mock.Mock(side_effect=images)
|
|
86
|
-
self.compute_client.create_server_image = mock.Mock(
|
|
87
|
-
return_value=images[0],
|
|
55
|
+
self.image = image_fakes.create_one_image(
|
|
56
|
+
{'name': self.server.name, 'status': 'active'}
|
|
88
57
|
)
|
|
89
|
-
|
|
58
|
+
self.image_client.find_image.return_value = self.image
|
|
59
|
+
self.compute_client.create_server_image.return_value = self.image
|
|
90
60
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
61
|
+
# Get the command object to test
|
|
62
|
+
self.cmd = server_image.CreateServerImage(self.app, None)
|
|
94
63
|
|
|
64
|
+
def test_server_image_create_defaults(self):
|
|
95
65
|
arglist = [
|
|
96
|
-
|
|
66
|
+
self.server.id,
|
|
97
67
|
]
|
|
98
68
|
verifylist = [
|
|
99
|
-
('server',
|
|
69
|
+
('server', self.server.id),
|
|
100
70
|
]
|
|
101
71
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
102
72
|
|
|
@@ -106,28 +76,25 @@ class TestServerImageCreate(TestServerImage):
|
|
|
106
76
|
columns, data = self.cmd.take_action(parsed_args)
|
|
107
77
|
|
|
108
78
|
self.compute_client.create_server_image.assert_called_with(
|
|
109
|
-
|
|
110
|
-
|
|
79
|
+
self.server.id,
|
|
80
|
+
self.server.name,
|
|
111
81
|
None,
|
|
112
82
|
)
|
|
113
83
|
|
|
114
|
-
self.assertEqual(self.image_columns(
|
|
115
|
-
self.assertCountEqual(self.image_data(
|
|
84
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
85
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
116
86
|
|
|
117
87
|
def test_server_image_create_options(self):
|
|
118
|
-
servers = self.setup_servers_mock(count=1)
|
|
119
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
120
|
-
|
|
121
88
|
arglist = [
|
|
122
89
|
'--name',
|
|
123
90
|
'img-nam',
|
|
124
91
|
'--property',
|
|
125
92
|
'key=value',
|
|
126
|
-
|
|
93
|
+
self.server.id,
|
|
127
94
|
]
|
|
128
95
|
verifylist = [
|
|
129
96
|
('name', 'img-nam'),
|
|
130
|
-
('server',
|
|
97
|
+
('server', self.server.id),
|
|
131
98
|
('properties', {'key': 'value'}),
|
|
132
99
|
]
|
|
133
100
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
@@ -138,26 +105,23 @@ class TestServerImageCreate(TestServerImage):
|
|
|
138
105
|
columns, data = self.cmd.take_action(parsed_args)
|
|
139
106
|
|
|
140
107
|
self.compute_client.create_server_image.assert_called_with(
|
|
141
|
-
|
|
108
|
+
self.server.id,
|
|
142
109
|
'img-nam',
|
|
143
110
|
{'key': 'value'},
|
|
144
111
|
)
|
|
145
112
|
|
|
146
|
-
self.assertEqual(self.image_columns(
|
|
147
|
-
self.assertCountEqual(self.image_data(
|
|
113
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
114
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
148
115
|
|
|
149
116
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=False)
|
|
150
117
|
def test_server_create_image_wait_fail(self, mock_wait_for_status):
|
|
151
|
-
servers = self.setup_servers_mock(count=1)
|
|
152
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
153
|
-
|
|
154
118
|
arglist = [
|
|
155
119
|
'--wait',
|
|
156
|
-
|
|
120
|
+
self.server.id,
|
|
157
121
|
]
|
|
158
122
|
verifylist = [
|
|
159
123
|
('wait', True),
|
|
160
|
-
('server',
|
|
124
|
+
('server', self.server.id),
|
|
161
125
|
]
|
|
162
126
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
163
127
|
|
|
@@ -168,27 +132,24 @@ class TestServerImageCreate(TestServerImage):
|
|
|
168
132
|
)
|
|
169
133
|
|
|
170
134
|
self.compute_client.create_server_image.assert_called_with(
|
|
171
|
-
|
|
172
|
-
|
|
135
|
+
self.server.id,
|
|
136
|
+
self.server.name,
|
|
173
137
|
None,
|
|
174
138
|
)
|
|
175
139
|
|
|
176
140
|
mock_wait_for_status.assert_called_once_with(
|
|
177
|
-
self.image_client.get_image,
|
|
141
|
+
self.image_client.get_image, self.image.id, callback=mock.ANY
|
|
178
142
|
)
|
|
179
143
|
|
|
180
144
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
|
181
145
|
def test_server_create_image_wait_ok(self, mock_wait_for_status):
|
|
182
|
-
servers = self.setup_servers_mock(count=1)
|
|
183
|
-
images = self.setup_images_mock(count=1, servers=servers)
|
|
184
|
-
|
|
185
146
|
arglist = [
|
|
186
147
|
'--wait',
|
|
187
|
-
|
|
148
|
+
self.server.id,
|
|
188
149
|
]
|
|
189
150
|
verifylist = [
|
|
190
151
|
('wait', True),
|
|
191
|
-
('server',
|
|
152
|
+
('server', self.server.id),
|
|
192
153
|
]
|
|
193
154
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
194
155
|
|
|
@@ -198,14 +159,14 @@ class TestServerImageCreate(TestServerImage):
|
|
|
198
159
|
columns, data = self.cmd.take_action(parsed_args)
|
|
199
160
|
|
|
200
161
|
self.compute_client.create_server_image.assert_called_with(
|
|
201
|
-
|
|
202
|
-
|
|
162
|
+
self.server.id,
|
|
163
|
+
self.server.name,
|
|
203
164
|
None,
|
|
204
165
|
)
|
|
205
166
|
|
|
206
167
|
mock_wait_for_status.assert_called_once_with(
|
|
207
|
-
self.image_client.get_image,
|
|
168
|
+
self.image_client.get_image, self.image.id, callback=mock.ANY
|
|
208
169
|
)
|
|
209
170
|
|
|
210
|
-
self.assertEqual(self.image_columns(
|
|
211
|
-
self.assertCountEqual(self.image_data(
|
|
171
|
+
self.assertEqual(self.image_columns(self.image), columns)
|
|
172
|
+
self.assertCountEqual(self.image_data(self.image), data)
|
|
@@ -52,7 +52,7 @@ class TestListMigration(compute_fakes.TestComputev2):
|
|
|
52
52
|
def setUp(self):
|
|
53
53
|
super().setUp()
|
|
54
54
|
|
|
55
|
-
self.server = compute_fakes.
|
|
55
|
+
self.server = compute_fakes.create_one_server()
|
|
56
56
|
self.compute_client.find_server.return_value = self.server
|
|
57
57
|
|
|
58
58
|
self.migrations = compute_fakes.create_migrations(count=3)
|
|
@@ -694,7 +694,7 @@ class TestServerMigrationShow(compute_fakes.TestComputev2):
|
|
|
694
694
|
def setUp(self):
|
|
695
695
|
super().setUp()
|
|
696
696
|
|
|
697
|
-
self.server = compute_fakes.
|
|
697
|
+
self.server = compute_fakes.create_one_server()
|
|
698
698
|
self.compute_client.find_server.return_value = self.server
|
|
699
699
|
|
|
700
700
|
self.server_migration = compute_fakes.create_one_server_migration()
|
|
@@ -897,7 +897,7 @@ class TestServerMigrationAbort(compute_fakes.TestComputev2):
|
|
|
897
897
|
def setUp(self):
|
|
898
898
|
super().setUp()
|
|
899
899
|
|
|
900
|
-
self.server = compute_fakes.
|
|
900
|
+
self.server = compute_fakes.create_one_server()
|
|
901
901
|
|
|
902
902
|
# Return value for utils.find_resource for server.
|
|
903
903
|
self.compute_client.find_server.return_value = self.server
|
|
@@ -1012,7 +1012,7 @@ class TestServerMigrationForceComplete(compute_fakes.TestComputev2):
|
|
|
1012
1012
|
def setUp(self):
|
|
1013
1013
|
super().setUp()
|
|
1014
1014
|
|
|
1015
|
-
self.server = compute_fakes.
|
|
1015
|
+
self.server = compute_fakes.create_one_server()
|
|
1016
1016
|
|
|
1017
1017
|
# Return value for utils.find_resource for server.
|
|
1018
1018
|
self.compute_client.find_server.return_value = self.server
|