@@ -117,9 +117,11 @@ def _test_create_image(
117117 else :
118118 backing_info = {}
119119 backing_backing_file = backing_info .pop ('backing_file' , None )
120+ backing_fmt = backing_info .pop ('backing_fmt' ,
121+ mock .sentinel .backing_fmt )
120122
121123 mock_info .return_value = mock .Mock (
122- file_format = mock . sentinel . backing_fmt ,
124+ file_format = backing_fmt ,
123125 cluster_size = mock .sentinel .cluster_size ,
124126 backing_file = backing_backing_file ,
125127 format_specific = backing_info ,
@@ -139,7 +141,7 @@ def _test_create_image(
139141 cow_opts = [
140142 '-o' ,
141143 f'backing_file={ backing_file } ,'
142- f'backing_fmt={ mock . sentinel . backing_fmt } ,'
144+ f'backing_fmt={ backing_fmt } ,'
143145 f'cluster_size={ mock .sentinel .cluster_size } ' ,
144146 ]
145147
@@ -193,6 +195,25 @@ def test_create_image_size_none(self):
193195 backing_file = mock .sentinel .backing_file ,
194196 )
195197
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+
196217 @ddt .unpack
197218 @ddt .data ({'fs_type' : 'some_fs_type' ,
198219 'default_eph_format' : None ,
0 commit comments