@@ -129,6 +129,89 @@ def test_augment_non_ezjail_instance(ctrl, ployconf):
129129 assert dict (ctrl .instances ['foo' ].config ) == {}
130130
131131
132+ @pytest .mark .parametrize ("config, expected" , [
133+ ([], {'vboxnet0' : {'ip' : '192.168.56.1' }}),
134+ (['[vb-hostonlyif:vboxnet0]' ], {'vboxnet0' : {'ip' : '192.168.56.1' }}),
135+ (['[vb-hostonlyif:vboxnet0]' , 'ip = 192.168.57.1' ],
136+ {'vboxnet0' : {'ip' : '192.168.57.1' }}),
137+ (['[vb-hostonlyif:vboxnet1]' , 'ip = 192.168.57.1' ],
138+ {'vboxnet0' : {'ip' : '192.168.56.1' }, 'vboxnet1' : {'ip' : '192.168.57.1' }})])
139+ def test_virtualbox_hostonlyif (ctrl , config , expected , ployconf ):
140+ import ploy_virtualbox
141+ ctrl .plugins ['virtualbox' ] = ploy_virtualbox .plugin
142+ ployconf .fill ([
143+ '[vb-instance:vb]' ] + config )
144+ # trigger augmentation
145+ ctrl .instances ['vb' ]
146+ assert ctrl .config ['vb-hostonlyif' ] == expected
147+
148+
149+ @pytest .mark .parametrize ("config, expected" , [
150+ ([],
151+ {'vboxnet0' : {
152+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.255.0' ,
153+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.254' }}),
154+ (['[vb-dhcpserver:vboxnet0]' ],
155+ {'vboxnet0' : {
156+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.255.0' ,
157+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.254' }}),
158+ (['[vb-dhcpserver:vboxnet0]' , 'ip = 192.168.57.2' ],
159+ {'vboxnet0' : {
160+ 'ip' : '192.168.57.2' , 'netmask' : '255.255.255.0' ,
161+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.254' }}),
162+ (['[vb-dhcpserver:vboxnet0]' , 'netmask = 255.255.0.0' ],
163+ {'vboxnet0' : {
164+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.0.0' ,
165+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.254' }}),
166+ (['[vb-dhcpserver:vboxnet0]' , 'lowerip = 192.168.56.50' ],
167+ {'vboxnet0' : {
168+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.255.0' ,
169+ 'lowerip' : '192.168.56.50' , 'upperip' : '192.168.56.254' }}),
170+ (['[vb-dhcpserver:vboxnet0]' , 'upperip = 192.168.56.200' ],
171+ {'vboxnet0' : {
172+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.255.0' ,
173+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.200' }}),
174+ (['[vb-dhcpserver:vboxnet0]' , 'ip = 192.168.57.2' , 'netmask = 255.255.0.0' , 'lowerip = 192.168.56.50' , 'upperip = 192.168.56.200' ],
175+ {'vboxnet0' : {
176+ 'ip' : '192.168.57.2' , 'netmask' : '255.255.0.0' ,
177+ 'lowerip' : '192.168.56.50' , 'upperip' : '192.168.56.200' }}),
178+ (['[vb-dhcpserver:vboxnet1]' , 'ip = 192.168.57.2' ],
179+ {'vboxnet0' : {
180+ 'ip' : '192.168.56.2' , 'netmask' : '255.255.255.0' ,
181+ 'lowerip' : '192.168.56.100' , 'upperip' : '192.168.56.254' },
182+ 'vboxnet1' : {
183+ 'ip' : '192.168.57.2' }})])
184+ def test_virtualbox_dhcpserver (ctrl , config , expected , ployconf ):
185+ import ploy_virtualbox
186+ ctrl .plugins ['virtualbox' ] = ploy_virtualbox .plugin
187+ ployconf .fill ([
188+ '[vb-instance:vb]' ] + config )
189+ # trigger augmentation
190+ ctrl .instances ['vb' ]
191+ assert ctrl .config ['vb-dhcpserver' ] == expected
192+
193+
194+ @pytest .mark .parametrize ("config, expected" , [
195+ ([], {}),
196+ (['storage = --medium vb-disk:defaultdisk' ],
197+ {'defaultdisk' : {'size' : '102400' }}),
198+ (['storage = --medium vb-disk:defaultdisk' , '[vb-disk:defaultdisk]' ],
199+ {'defaultdisk' : {'size' : '102400' }}),
200+ (['storage = --medium vb-disk:defaultdisk' , '[vb-disk:defaultdisk]' , 'size = 1024000' ],
201+ {'defaultdisk' : {'size' : '1024000' }}),
202+ (['storage = --medium vb-disk:defaultdisk' , '[vb-disk:otherdisk]' ],
203+ {'defaultdisk' : {'size' : '102400' },
204+ 'otherdisk' : {}})])
205+ def test_virtualbox_defaultdisk (ctrl , config , expected , ployconf ):
206+ import ploy_virtualbox
207+ ctrl .plugins ['virtualbox' ] = ploy_virtualbox .plugin
208+ ployconf .fill ([
209+ '[vb-instance:vb]' ] + config )
210+ # trigger augmentation
211+ ctrl .instances ['vb' ]
212+ assert ctrl .config .get ('vb-disk' , {}) == expected
213+
214+
132215@pytest .mark .parametrize ("instance, key, value, expected" , [
133216 ('foo' , 'ansible_python_interpreter' , 'python2.7' , 'python2.7' ),
134217 ('foo' , 'startup_script' , 'foo' , {'path' : '{tempdir}/etc/foo' }),
0 commit comments