@@ -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