@@ -117,9 +117,11 @@ def _test_create_image(
117
117
else :
118
118
backing_info = {}
119
119
backing_backing_file = backing_info .pop ('backing_file' , None )
120
+ backing_fmt = backing_info .pop ('backing_fmt' ,
121
+ mock .sentinel .backing_fmt )
120
122
121
123
mock_info .return_value = mock .Mock (
122
- file_format = mock . sentinel . backing_fmt ,
124
+ file_format = backing_fmt ,
123
125
cluster_size = mock .sentinel .cluster_size ,
124
126
backing_file = backing_backing_file ,
125
127
format_specific = backing_info ,
@@ -139,7 +141,7 @@ def _test_create_image(
139
141
cow_opts = [
140
142
'-o' ,
141
143
f'backing_file={ backing_file } ,'
142
- f'backing_fmt={ mock . sentinel . backing_fmt } ,'
144
+ f'backing_fmt={ backing_fmt } ,'
143
145
f'cluster_size={ mock .sentinel .cluster_size } ' ,
144
146
]
145
147
@@ -193,6 +195,25 @@ def test_create_image_size_none(self):
193
195
backing_file = mock .sentinel .backing_file ,
194
196
)
195
197
198
+ def test_create_image_vmdk (self ):
199
+ self ._test_create_image (
200
+ '/some/vmdk' , 'vmdk' , '1234567891234' ,
201
+ backing_file = {'file' : mock .sentinel .backing_file ,
202
+ 'backing_fmt' : 'vmdk' ,
203
+ 'backing_file' : None ,
204
+ 'data' : {'create-type' : 'monolithicSparse' }}
205
+ )
206
+
207
+ def test_create_image_vmdk_invalid_type (self ):
208
+ self .assertRaises (exception .ImageUnacceptable ,
209
+ self ._test_create_image ,
210
+ '/some/vmdk' , 'vmdk' , '1234567891234' ,
211
+ backing_file = {'file' : mock .sentinel .backing_file ,
212
+ 'backing_fmt' : 'vmdk' ,
213
+ 'backing_file' : None ,
214
+ 'data' : {'create-type' : 'monolithicFlat' }}
215
+ )
216
+
196
217
@ddt .unpack
197
218
@ddt .data ({'fs_type' : 'some_fs_type' ,
198
219
'default_eph_format' : None ,
0 commit comments