Skip to content

Commit 6366763

Browse files
committed
Add functional test for volume snapshot
This patch adds functional test support unset and show commands from volume snapshot and refactors existing test methods by combining them into a single method. Change-Id: I567bdfad6ce8ee6098d6e4c270bc200ff53ae4f7 Signed-off-by: asdasd7183 <yoonsookim1102@gmail.com>
1 parent 34f431b commit 6366763

1 file changed

Lines changed: 46 additions & 132 deletions

File tree

openstackclient/tests/functional/volume/v3/test_volume_snapshot.py

Lines changed: 46 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
2323
@classmethod
2424
def setUpClass(cls):
2525
super().setUpClass()
26-
# create a volume for all tests to create snapshot
26+
# create a test volume used by all snapshot tests
2727
cmd_output = cls.openstack(
2828
'volume create ' + '--size 1 ' + cls.VOLLY,
2929
parse_output=True,
@@ -40,159 +40,68 @@ def tearDownClass(cls):
4040
finally:
4141
super().tearDownClass()
4242

43-
def test_volume_snapshot_delete(self):
44-
"""Test create, delete multiple"""
45-
name1 = uuid.uuid4().hex
46-
cmd_output = self.openstack(
47-
'volume snapshot create ' + name1 + ' --volume ' + self.VOLLY,
48-
parse_output=True,
49-
)
50-
self.assertEqual(
51-
name1,
52-
cmd_output["name"],
53-
)
43+
def test_volume_snapshot(self):
44+
# create volume snapshot
45+
name = uuid.uuid4().hex
5446

55-
name2 = uuid.uuid4().hex
5647
cmd_output = self.openstack(
57-
'volume snapshot create ' + name2 + ' --volume ' + self.VOLLY,
48+
'volume snapshot create '
49+
+ '--volume '
50+
+ self.VOLLY
51+
+ ' --description aaaa '
52+
+ '--property Alpha=a '
53+
+ name,
5854
parse_output=True,
5955
)
60-
self.assertEqual(
61-
name2,
62-
cmd_output["name"],
63-
)
64-
65-
self.wait_for_status('volume snapshot', name1, 'available')
66-
self.wait_for_status('volume snapshot', name2, 'available')
56+
snap_id = cmd_output['id']
6757

68-
del_output = self.openstack(
69-
'volume snapshot delete ' + name1 + ' ' + name2
58+
self.addCleanup(self.wait_for_delete, 'volume snapshot', snap_id)
59+
# delete volume snapshot
60+
self.addCleanup(
61+
self.openstack,
62+
'volume snapshot delete ' + snap_id,
7063
)
71-
self.assertOutput('', del_output)
72-
self.wait_for_delete('volume snapshot', name1)
73-
self.wait_for_delete('volume snapshot', name2)
64+
self.wait_for_status('volume snapshot', snap_id, 'available')
7465

75-
def test_volume_snapshot_list(self):
76-
"""Test create, list filter"""
77-
name1 = uuid.uuid4().hex
78-
cmd_output = self.openstack(
79-
'volume snapshot create ' + name1 + ' --volume ' + self.VOLLY,
66+
# show volume snapshot
67+
snapshot_info = self.openstack(
68+
'volume snapshot show ' + name,
8069
parse_output=True,
8170
)
82-
self.addCleanup(self.wait_for_delete, 'volume snapshot', name1)
83-
self.addCleanup(self.openstack, 'volume snapshot delete ' + name1)
84-
self.assertEqual(
85-
name1,
86-
cmd_output["name"],
87-
)
88-
self.assertEqual(
89-
self.VOLUME_ID,
90-
cmd_output["volume_id"],
91-
)
92-
self.assertEqual(
93-
1,
94-
cmd_output["size"],
95-
)
96-
self.wait_for_status('volume snapshot', name1, 'available')
9771

98-
name2 = uuid.uuid4().hex
99-
cmd_output = self.openstack(
100-
'volume snapshot create ' + name2 + ' --volume ' + self.VOLLY,
101-
parse_output=True,
102-
)
103-
self.addCleanup(self.wait_for_delete, 'volume snapshot', name2)
104-
self.addCleanup(self.openstack, 'volume snapshot delete ' + name2)
105-
self.assertEqual(
106-
name2,
107-
cmd_output["name"],
108-
)
109-
self.assertEqual(
110-
self.VOLUME_ID,
111-
cmd_output["volume_id"],
112-
)
113-
self.assertEqual(
114-
1,
115-
cmd_output["size"],
116-
)
117-
self.wait_for_status('volume snapshot', name2, 'available')
118-
raw_output = self.openstack(
119-
'volume snapshot set ' + '--state error ' + name2
120-
)
121-
self.assertOutput('', raw_output)
72+
self.assertEqual(name, snapshot_info['name'])
73+
self.assertEqual('aaaa', snapshot_info["description"])
74+
self.assertEqual({'Alpha': 'a'}, snapshot_info["properties"])
12275

123-
# Test list --long, --status
76+
# list volume snapshot --name
12477
cmd_output = self.openstack(
125-
'volume snapshot list ' + '--long ' + '--status error',
78+
'volume snapshot list --name ' + name,
12679
parse_output=True,
12780
)
128-
names = [x["Name"] for x in cmd_output]
129-
self.assertNotIn(name1, names)
130-
self.assertIn(name2, names)
81+
names = [x['Name'] for x in cmd_output]
82+
self.assertIn(name, names)
13183

132-
# Test list --volume
84+
# list volume snapshot --volume
13385
cmd_output = self.openstack(
13486
'volume snapshot list ' + '--volume ' + self.VOLLY,
13587
parse_output=True,
13688
)
13789
names = [x["Name"] for x in cmd_output]
138-
self.assertIn(name1, names)
139-
self.assertIn(name2, names)
90+
self.assertIn(name, names)
14091

141-
# Test list --name
142-
cmd_output = self.openstack(
143-
'volume snapshot list ' + '--name ' + name1,
144-
parse_output=True,
145-
)
146-
names = [x["Name"] for x in cmd_output]
147-
self.assertIn(name1, names)
148-
self.assertNotIn(name2, names)
149-
150-
def test_volume_snapshot_set(self):
151-
"""Test create, set, unset, show, delete volume snapshot"""
152-
name = uuid.uuid4().hex
92+
# set volume snapshot
15393
new_name = name + "_"
154-
cmd_output = self.openstack(
155-
'volume snapshot create '
156-
+ '--volume '
157-
+ self.VOLLY
158-
+ ' --description aaaa '
159-
+ '--property Alpha=a '
160-
+ name,
161-
parse_output=True,
162-
)
163-
self.addCleanup(self.wait_for_delete, 'volume snapshot', new_name)
164-
self.addCleanup(self.openstack, 'volume snapshot delete ' + new_name)
165-
self.assertEqual(
166-
name,
167-
cmd_output["name"],
168-
)
169-
self.assertEqual(
170-
1,
171-
cmd_output["size"],
172-
)
173-
self.assertEqual(
174-
'aaaa',
175-
cmd_output["description"],
176-
)
177-
self.assertEqual(
178-
{'Alpha': 'a'},
179-
cmd_output["properties"],
180-
)
181-
self.wait_for_status('volume snapshot', name, 'available')
182-
183-
# Test volume snapshot set
18494
raw_output = self.openstack(
18595
'volume snapshot set '
18696
+ '--name '
18797
+ new_name
18898
+ ' --description bbbb '
18999
+ '--property Alpha=c '
190100
+ '--property Beta=b '
191-
+ name,
101+
+ snap_id,
192102
)
193103
self.assertOutput('', raw_output)
194104

195-
# Show snapshot set result
196105
cmd_output = self.openstack(
197106
'volume snapshot show ' + new_name,
198107
parse_output=True,
@@ -201,10 +110,6 @@ def test_volume_snapshot_set(self):
201110
new_name,
202111
cmd_output["name"],
203112
)
204-
self.assertEqual(
205-
1,
206-
cmd_output["size"],
207-
)
208113
self.assertEqual(
209114
'bbbb',
210115
cmd_output["description"],
@@ -214,7 +119,7 @@ def test_volume_snapshot_set(self):
214119
cmd_output["properties"],
215120
)
216121

217-
# Test volume snapshot unset
122+
# unset volume snapshot
218123
raw_output = self.openstack(
219124
'volume snapshot unset ' + '--property Alpha ' + new_name,
220125
)
@@ -229,16 +134,25 @@ def test_volume_snapshot_set(self):
229134
cmd_output["properties"],
230135
)
231136

232-
# Test volume snapshot set --no-property
137+
# set volume snapshot --no-property, --state error
233138
raw_output = self.openstack(
234-
'volume snapshot set ' + '--no-property ' + new_name,
139+
'volume snapshot set '
140+
+ '--no-property '
141+
+ '--state error '
142+
+ new_name,
235143
)
236144
self.assertOutput('', raw_output)
145+
237146
cmd_output = self.openstack(
238147
'volume snapshot show ' + new_name,
239148
parse_output=True,
240149
)
241-
self.assertNotIn(
242-
{'Beta': 'b'},
243-
cmd_output["properties"],
150+
self.assertEqual({}, cmd_output["properties"])
151+
152+
# list volume snapshot --long --status
153+
cmd_output = self.openstack(
154+
'volume snapshot list ' + '--long ' + '--status error',
155+
parse_output=True,
244156
)
157+
names = [x["Name"] for x in cmd_output]
158+
self.assertIn(new_name, names)

0 commit comments

Comments
 (0)