vagrant-subutai 7.0.2 → 7.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  require 'uri'
2
+ require 'json'
2
3
  require_relative 'subutai_config'
3
4
 
4
5
  module SubutaiValidation
@@ -47,18 +48,20 @@ module SubutaiValidation
47
48
  SubutaiConfig.set_env_type(key, value.to_sym)
48
49
  end
49
50
  when :int
50
- raise "Invalid #{key} type of #{value}: use int type " unless value.is_a?(Integer)
51
+ raise "\e[33m\n\nInvalid #{key} type of #{value}: use int type \n\e[0m" unless value.is_a?(Integer)
51
52
  when :path
52
- raise "Invalid #{key} path of #{value}: use valid path " unless File.exist?(value)
53
+ raise "\e[33m\n\nPermission denied or invalid #{key} path of #{value}: use valid path \n\e[0m" unless writable_and_exist?(value)
53
54
  when :string
54
- raise "Invalid #{key} type of #{value}: use string type " unless value.is_a?(String)
55
+ raise "\e[33m\n\nInvalid #{key} type of #{value}: use string type \n\e[0m" unless value.is_a?(String)
55
56
  when :bool
56
- raise "Invalid #{key} type of #{value}: use bool type " unless bool?(value)
57
+ raise "\e[33m\n\nInvalid #{key} type of #{value}: use bool type \n\e[0m" unless bool?(value)
57
58
  when :url
58
- raise "Invalid #{key} url of #{value}: use valid url " unless value =~ URI::regexp
59
+ raise "\e[33m\n\nInvalid #{key} url of #{value}: use valid url \n\e[0m" unless value =~ URI::regexp
59
60
  when :json_object
60
- raise "Invalid #{key} json of #{value}: use json object " unless is_json?(value)
61
+ raise "\e[33m\n\nInvalid #{key} json of #{value}: use json object \n\e[0m" unless is_json?(value)
61
62
  end
63
+
64
+ true
62
65
  end
63
66
 
64
67
  def self.bool?(value)
@@ -71,11 +74,23 @@ module SubutaiValidation
71
74
  end
72
75
  end
73
76
 
77
+ def self.writable_and_exist?(value)
78
+ if File.exist?(value) && File.writable?(value)
79
+ return true
80
+ end
81
+
82
+ false
83
+ end
84
+
74
85
  def self.is_json?(json)
86
+ if json.kind_of?(Hash)
87
+ return true
88
+ end
89
+
75
90
  begin
76
91
  JSON.parse(json)
77
- rescue
78
- false
92
+ rescue JSON::ParserError
93
+ return false
79
94
  end
80
95
 
81
96
  true
@@ -27,6 +27,11 @@ module VagrantSubutai
27
27
  CreateDisk
28
28
  end
29
29
 
30
+ provisioner "cleanup" do
31
+ require_relative "cleanup"
32
+ Cleanup
33
+ end
34
+
30
35
  config 'subutai_console' do
31
36
  require_relative 'config'
32
37
  Config
@@ -1,3 +1,3 @@
1
1
  module VagrantSubutai
2
- VERSION = '7.0.2'
2
+ VERSION = '7.0.3'
3
3
  end
@@ -0,0 +1,2 @@
1
+ DISK_SIZE: 101
2
+ SUBUTAI_DISK_PATH: /tmp
@@ -0,0 +1 @@
1
+ DISK_SIZE: 250
File without changes
File without changes
@@ -0,0 +1,29 @@
1
+ DESIRED_CONSOLE_PORT: 9999
2
+ ALLOW_INSECURE: false
3
+ SUBUTAI_ENV: dev
4
+ SUBUTAI_PEER: 'true'
5
+ SUBUTAI_RAM: 1025
6
+ SUBUTAI_CPU: 5
7
+ SUBUTAI_DESKTOP: true
8
+ SUBUTAI_MAN_TMPL: './test/management_script.sh'
9
+ APT_PROXY_URL: 'http://google.com'
10
+ PROVISION: "false"
11
+ PASSWORD_OVERRIDE: secret
12
+ AUTHORIZED_KEYS: '/tmp'
13
+ BRIDGE: '545'
14
+ DISK_SIZE: 1000
15
+ SUBUTAI_DISK_PATH: '/tmp'
16
+ SUBUTAI_ENV_TYPE: 'bazaar'
17
+ SUBUTAI_NAME: '56565'
18
+ SUBUTAI_SCOPE: public
19
+ SUBUTAI_USERNAME: '656'
20
+ SUBUTAI_PASSWORD: 'password'
21
+ USER_VARIABLES: '{"env": "env name"}'
22
+ BAZAAR_EMAIL: '6565'
23
+ BAZAAR_PASSWORD: 'password'
24
+ LIBVIRT_USER: 'libvirtuser'
25
+ LIBVIRT_HOST: '192.168.77.19'
26
+ LIBVIRT_PORT: 23
27
+ LIBVIRT_MACVTAP: 'true'
28
+ LIBVIRT_NO_BRIDGE: 'true'
29
+ BAZAAR_NO_AUTO: false
data/test/subutai1.yaml CHANGED
@@ -6,5 +6,5 @@ invalid_value: foo
6
6
  ALLOW_INSECURE: true
7
7
  SUBUTAI_RAM: 2000
8
8
  SUBUTAI_CPU: 6
9
- SUBUTAI_MAN_IMPL: ./bar/foo/bogus/path/to/deb/pkg/management.deb
9
+ SUBUTAI_MAN_IMPL: './test/management_test_file.deb'
10
10
  APT_PROXY_URL: http://some_server:4444
data/test/subutai2.yaml CHANGED
@@ -1,9 +1,9 @@
1
1
  SUBUTAI_PEER: false
2
- SUBUTAI_ENV: master
2
+ SUBUTAI_ENV: :master
3
3
  SUBUTAI_DESKTOP: true
4
4
  DESIRED_CONSOLE_PORT: 9191
5
5
  ALLOW_INSECURE: true
6
6
  SUBUTAI_RAM: 2000
7
7
  SUBUTAI_CPU: 6
8
- SUBUTAI_MAN_TMPL: ./bar/foo/bogus/path/to/deb/pkg/management.deb
8
+ SUBUTAI_MAN_TMPL: './test/management_test_file.deb'
9
9
  APT_PROXY_URL: http://some_server:4444
@@ -2,7 +2,8 @@ require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'fileutils'
4
4
 
5
- require_relative '../lib/subutai_cli/packer/subutai_config'
5
+ require_relative '../lib/vagrant-subutai/packer/subutai_config'
6
+ require_relative '../lib/vagrant-subutai/put'
6
7
 
7
8
  # Tests the SubutaiConfig module
8
9
  class SubutaiConfigTest < Test::Unit::TestCase
@@ -75,7 +76,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
75
76
  SubutaiConfig.load_config('destroy', :virtualbox)
76
77
  assert_path_exist(SubutaiConfig::GENERATED_FILE, 'generated.yaml')
77
78
 
78
- SubutaiConfig.cleanup
79
+ SubutaiConfig.cleanup!
79
80
  assert_path_not_exist(SubutaiConfig::GENERATED_FILE, 'generated.yaml')
80
81
  end
81
82
 
@@ -257,27 +258,35 @@ class SubutaiConfigTest < Test::Unit::TestCase
257
258
  end
258
259
  end
259
260
 
261
+ def test_not_raise
262
+ assert_nothing_raised do
263
+ SubutaiConfig.override_conf_file('./test/subutai-validation-0.yml')
264
+ SubutaiConfig.load_config('up', :virtualbox)
265
+ end
266
+ end
267
+
260
268
  def test_bad_env_subutai_yaml_0
261
- SubutaiConfig.override_conf_file('./ruby/tests/subutai0.yaml')
262
269
  assert_raise do
270
+ SubutaiConfig.override_conf_file('./test/subutai0.yaml')
263
271
  SubutaiConfig.load_config('up', :virtualbox)
264
272
  end
265
273
  end
266
274
 
267
275
  def test_bad_key_subutai_yaml_1
268
- SubutaiConfig.override_conf_file('./ruby/tests/subutai1.yaml')
269
276
  assert_raise do
277
+ SubutaiConfig.override_conf_file('./test/subutai1.yaml')
270
278
  SubutaiConfig.load_config('up', :virtualbox)
271
279
  end
272
280
  end
273
281
 
274
282
  def test_subutai_yaml_2
275
- SubutaiConfig.override_conf_file('./ruby/tests/subutai2.yaml')
283
+ SubutaiConfig.override_conf_file('./test/subutai2.yaml')
276
284
  SubutaiConfig.load_config('up', :virtualbox)
277
285
  SubutaiConfig.logging!(:debug)
278
286
  SubutaiConfig.print
279
287
  SubutaiConfig.log('up', 'dummy message')
280
288
  SubutaiConfig.log_mode([:debug], ['up'], 'dummy message')
289
+ SubutaiConfig.print
281
290
  assert_equal(:master, SubutaiConfig.get(:SUBUTAI_ENV))
282
291
  assert_equal(9191, SubutaiConfig.get(:DESIRED_CONSOLE_PORT))
283
292
  assert_equal(2000, SubutaiConfig.get(:SUBUTAI_RAM))
@@ -285,7 +294,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
285
294
  assert_false(SubutaiConfig.get(:SUBUTAI_PEER))
286
295
  assert_true(SubutaiConfig.get(:SUBUTAI_DESKTOP))
287
296
  assert_true(SubutaiConfig.get(:ALLOW_INSECURE))
288
- assert_equal('./bar/foo/bogus/path/to/deb/pkg/management.deb', SubutaiConfig.get(:SUBUTAI_MAN_TMPL))
297
+ assert_equal('./test/management_test_file.deb', SubutaiConfig.get(:SUBUTAI_MAN_TMPL))
289
298
 
290
299
  if ENV['APT_PROXY_URL'].nil?
291
300
  assert_equal('http://some_server:4444', SubutaiConfig.get(:APT_PROXY_URL))
@@ -294,6 +303,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
294
303
  end
295
304
  end
296
305
 
306
+
297
307
  def test_boolean?
298
308
  SubutaiConfig.load_config('up', :virtualbox)
299
309
  assert_true(SubutaiConfig.boolean?(:SUBUTAI_PEER))
@@ -327,25 +337,25 @@ class SubutaiConfigTest < Test::Unit::TestCase
327
337
  # Make it all negative for provisioning conditions
328
338
  configs.store(:PROVISION, false)
329
339
  configs.store(:_ALT_MANAGEMENT, nil)
330
- configs.store(:_ALT_MANAGEMENT_MD5, '6fc87ffd922973f8c88fd939fc091885')
331
- configs.store(:_ALT_MANAGEMENT_MD5_LAST, '6fc87ffd922973f8c88fd939fc091885')
340
+ configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
341
+ configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
332
342
  assert_false(SubutaiConfig.provision_management?)
333
343
 
334
344
  configs.store(:PROVISION, true)
335
345
  configs.store(:_ALT_MANAGEMENT, nil)
336
- configs.store(:_ALT_MANAGEMENT_MD5, '6fc87ffd922973f8c88fd939fc091885')
337
- configs.store(:_ALT_MANAGEMENT_MD5_LAST, '6fc87ffd922973f8c88fd939fc091885')
346
+ configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
347
+ configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
338
348
  assert_false(SubutaiConfig.provision_management?)
339
349
 
340
350
  configs.store(:PROVISION, true)
341
- configs.store(:_ALT_MANAGEMENT, './ruby/tests/snap_script.sh')
342
- configs.store(:_ALT_MANAGEMENT_MD5, '6fc87ffd922973f8c88fd939fc091885')
343
- configs.store(:_ALT_MANAGEMENT_MD5_LAST, '6fc87ffd922973f8c88fd939fc091885')
351
+ configs.store(:_ALT_MANAGEMENT, './snap_script.sh')
352
+ configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
353
+ configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
344
354
  assert_false(SubutaiConfig.provision_management?)
345
355
 
346
356
  configs.store(:PROVISION, true)
347
- configs.store(:_ALT_MANAGEMENT, './ruby/tests/snap_script.sh')
348
- configs.store(:_ALT_MANAGEMENT_MD5, '6fc87ffd922973f8c88fd939fc091885')
357
+ configs.store(:_ALT_MANAGEMENT, './snap_script.sh')
358
+ configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
349
359
  configs.store(:_ALT_MANAGEMENT_MD5_LAST, nil)
350
360
  assert_false(SubutaiConfig.provision_management?)
351
361
 
@@ -354,10 +364,10 @@ class SubutaiConfigTest < Test::Unit::TestCase
354
364
  configs.store(:PROVISION, true)
355
365
  puts configs
356
366
 
357
- configs.store(:_ALT_MANAGEMENT, './ruby/tests/snap_script.sh')
358
- configs.store(:_ALT_MANAGEMENT_MD5, '6fc87ffd922973f8c88fd939fc091885')
367
+ configs.store(:_ALT_MANAGEMENT, './test/snap_script.sh')
368
+ configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
359
369
  configs.store(:_ALT_MANAGEMENT_MD5_LAST, nil)
360
- assert_true(SubutaiConfig.provision_management?)
370
+ assert_false(SubutaiConfig.provision_management?)
361
371
 
362
372
  SubutaiConfig.management_provisioned!
363
373
  end
@@ -368,12 +378,103 @@ class SubutaiConfigTest < Test::Unit::TestCase
368
378
  assert_false(SubutaiConfig.do_handlers)
369
379
 
370
380
  SubutaiConfig.load_config('up', :virtualbox)
371
- configs.store(:SUBUTAI_MAN_TMPL, './ruby/tests/snap_script.sh')
381
+ configs.store(:SUBUTAI_MAN_TMPL, './test/snap_script.sh')
372
382
  assert_true(SubutaiConfig.do_handlers)
373
383
 
374
- configs.store(:SUBUTAI_MAN_TMPL, './ruby/tests/bad_snap_script.sh')
384
+ configs.store(:SUBUTAI_MAN_TMPL, './test/bad_snap_script.sh')
375
385
  assert_raise do
376
386
  SubutaiConfig.do_handlers
377
387
  end
378
388
  end
389
+
390
+ def test_get_latest_artifact
391
+ assert_equal('https://cdn.subutai.io:8338/kurjun/rest', SubutaiConfig.url_of_cdn)
392
+
393
+ SubutaiConfig.load_config("up", :libvirt)
394
+ assert_equal("", SubutaiConfig.get_latest_id_artifact("invalid", "vagrant-subutai-stretch-libvirt.box"))
395
+
396
+ SubutaiConfig.cleanup!
397
+
398
+ SubutaiConfig.load_config("destroy", :hyper_v)
399
+ assert_equal("", SubutaiConfig.get_latest_id_artifact("subutai", "vagrant-subutai-stretch-hyperv.box"))
400
+
401
+ SubutaiConfig.cleanup!
402
+
403
+ SubutaiConfig.url_of_cdn = 'https://cdn.subutai.io:8338/kurjun/rest/invalid'
404
+ assert_equal('https://cdn.subutai.io:8338/kurjun/rest/invalid', SubutaiConfig.url_of_cdn)
405
+
406
+ SubutaiConfig.load_config("up", :virtualbox)
407
+ SubutaiConfig.url_of_cdn = 'https://cdn.subutai.io:8338/kurjun/rest/invalid'
408
+ assert_equal("", SubutaiConfig.get_latest_id_artifact("subutai", "vagrant-subutai-stretch-virtualbox-master.box"))
409
+ end
410
+
411
+ def test_get
412
+ SubutaiConfig.load_config("up", :virtualbox)
413
+
414
+ assert_equal(nil, SubutaiConfig.get(:INVALID_KEY))
415
+ end
416
+
417
+ def test_set_scope
418
+ assert_raise do
419
+ SubutaiConfig.set_scope(:SUBUTAI_SCOPE, "public_incorrect")
420
+ end
421
+
422
+ assert_nothing_raised do
423
+ SubutaiConfig.set_scope(:SUBUTAI_SCOPE, 'PubLiC'.to_sym)
424
+ SubutaiConfig.set_scope(:SUBUTAI_SCOPE, 'PriVate'.to_sym)
425
+ end
426
+ end
427
+
428
+ def test_write
429
+ SubutaiConfig.load_config("up", :libvirt)
430
+ assert_true(SubutaiConfig.write?)
431
+ SubutaiConfig.cleanup!
432
+
433
+ SubutaiConfig.load_config("destroy", :virtualbox)
434
+ assert_false(SubutaiConfig.write?)
435
+ end
436
+
437
+ def test_reload
438
+ SubutaiConfig.load_config("reload", :virtualbox)
439
+ assert_true(SubutaiConfig.reload?)
440
+
441
+ SubutaiConfig.cleanup!
442
+ SubutaiConfig.load_config("up", :libvirt)
443
+ assert_false(SubutaiConfig.reload?)
444
+ end
445
+
446
+ def test_delete
447
+ SubutaiConfig.load_config("destroy", :vmware)
448
+ assert_true(SubutaiConfig.delete?)
449
+
450
+ SubutaiConfig.cleanup!
451
+
452
+ SubutaiConfig.load_config("up", :vmware)
453
+ assert_false(SubutaiConfig.delete?)
454
+ end
455
+
456
+ def test_read
457
+ SubutaiConfig.load_config("up", :vmware)
458
+ assert_false(SubutaiConfig.read?)
459
+
460
+ SubutaiConfig.cleanup!
461
+
462
+ SubutaiConfig.load_config("provision", :vmware)
463
+ assert_true(SubutaiConfig.read?)
464
+ end
465
+
466
+ def test_conf_file
467
+ puts "conf file: #{SubutaiConfig::CONF_FILE}"
468
+ assert_equal(SubutaiConfig::CONF_FILE, SubutaiConfig.conf_file)
469
+ SubutaiConfig.override_conf_file "./test/vagrant-subutai-disk-withoutpath.yml"
470
+ assert_equal("./test/vagrant-subutai-disk-withoutpath.yml", SubutaiConfig.conf_file)
471
+ end
472
+
473
+ def test_provider
474
+ SubutaiConfig.load_config('up', :hyper_v)
475
+ assert_equal(:hyper_v, SubutaiConfig.provider)
476
+
477
+ SubutaiConfig.reset
478
+ assert_equal(nil, SubutaiConfig.provider)
479
+ end
379
480
  end
@@ -0,0 +1,220 @@
1
+ require_relative '../lib/vagrant-subutai/packer/subutai_disk'
2
+ require_relative '../lib/vagrant-subutai/packer/subutai_config'
3
+ require 'rubygems'
4
+ require 'test/unit'
5
+ require 'fileutils'
6
+ # Tests the subutai_net module
7
+ class SubutaiDiskTest < Test::Unit::TestCase
8
+ # Called before every test method runs. Can be used
9
+ # to set up fixture information.
10
+ def setup
11
+ # Do nothing
12
+ end
13
+
14
+ # Called after every test method runs. Can be used to tear
15
+ # down fixture information.
16
+
17
+ def teardown
18
+ # Do nothing
19
+ end
20
+
21
+ def test_global_variables
22
+ assert_equal("SubutaiDisk",
23
+ SubutaiDisk::DISK_NAME)
24
+ assert_equal("vdi",
25
+ SubutaiDisk::DISK_FORMAT)
26
+ assert_equal("vdi",
27
+ SubutaiDisk::DISK_FORMAT_VIRTUALBOX)
28
+ assert_equal("vmdk",
29
+ SubutaiDisk::DISK_FORMAT_VMWARE)
30
+ assert_equal("vhdx",
31
+ SubutaiDisk::DISK_FORMAT_HYPERV)
32
+ assert_equal("qcow2",
33
+ SubutaiDisk::DISK_FORMAT_LIBVIRT)
34
+ assert_equal("vmware",
35
+ SubutaiDisk::PROVIDER_VMWARE)
36
+ assert_equal("hyper_v",
37
+ SubutaiDisk::PROVIDER_HYPERV)
38
+ assert_equal("libvirt",
39
+ SubutaiDisk::PROVIDER_LIBVIRT)
40
+ assert_equal('script/create_disk_and_attach.ps1',
41
+ SubutaiDisk::SCRIPT_HYPERV_DISK_CREATE_PATH)
42
+ assert_equal('script/remove_virtual_disk.ps1',
43
+ SubutaiDisk::SCRIPT_HYPERV_DISK_REMOVE_PATH)
44
+ end
45
+
46
+ def test_port
47
+ SubutaiConfig.cleanup!
48
+ SubutaiConfig.load_config('up', :virtualbox)
49
+ assert_equal(1, SubutaiDisk.port)
50
+ end
51
+
52
+ def test_size
53
+ assert_equal(12288, SubutaiDisk.size(10))
54
+ end
55
+
56
+ def test_libvirt_size
57
+ assert_equal("26G", SubutaiDisk.libvirt_size(24))
58
+ end
59
+
60
+ def test_vmware_size
61
+ assert_equal(22, SubutaiDisk.vmware_size(20))
62
+ end
63
+
64
+ def test_has_grow
65
+ SubutaiConfig.override_conf_file('./test/disk_size.yml')
66
+ SubutaiConfig.load_config("up", :virtualbox)
67
+ has_grow, grow_by = SubutaiDisk.has_grow
68
+ assert_true(true, has_grow)
69
+ assert_equal(150, grow_by)
70
+ assert_equal(1, SubutaiDisk.port)
71
+ end
72
+
73
+ def test_file
74
+ assert_equal("./SubutaiDisk-1-250.vdi",
75
+ SubutaiDisk.file(250))
76
+
77
+ SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
78
+ SubutaiConfig.load_config('up', :virtualbox)
79
+
80
+ assert_equal('/tmp/SubutaiDisk-1-389.vdi',
81
+ SubutaiDisk.file(SubutaiConfig.get_grow_by))
82
+ end
83
+
84
+ def test_file_path
85
+ SubutaiConfig.cleanup!
86
+ SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-withoutpath.yml')
87
+ SubutaiConfig.load_config('up', :virtualbox)
88
+
89
+ assert_equal(File.expand_path('SubutaiDisk-1-50.vdi'),
90
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "virtualbox"))
91
+ assert_equal(File.expand_path('SubutaiDisk-1-50.vmdk'),
92
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "vmware"))
93
+ assert_equal(File.expand_path('SubutaiDisk-1-50.vhdx'),
94
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "hyper_v"))
95
+ assert_equal(File.expand_path('SubutaiDisk-1-50.qcow2'),
96
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "libvirt"))
97
+
98
+ SubutaiConfig.cleanup!
99
+
100
+ SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
101
+ SubutaiConfig.load_config('up', :virtualbox)
102
+
103
+ assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.vdi'),
104
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "virtualbox"))
105
+ assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), "SubutaiDisk-1-389.vmdk"),
106
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "vmware"))
107
+ assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.vhdx'),
108
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "hyper_v"))
109
+ assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.qcow2'),
110
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "libvirt"))
111
+
112
+ SubutaiConfig.cleanup!
113
+ end
114
+
115
+ def test_safe_conf
116
+ SubutaiConfig.cleanup!
117
+
118
+ SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
119
+ SubutaiConfig.load_config('up', :virtualbox)
120
+ SubutaiDisk.save_conf(SubutaiConfig.get_grow_by)
121
+
122
+ assert_equal(389, SubutaiConfig.get(:_DISK_SIZE))
123
+ assert_equal(1, SubutaiConfig.get(:_DISK_PORT))
124
+ assert_true(File.exist?('./.vagrant/generated.yml'))
125
+
126
+
127
+ SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-grow.yml')
128
+ SubutaiConfig.load_config('up', :virtualbox)
129
+ SubutaiDisk.save_conf(SubutaiConfig.get_grow_by)
130
+
131
+ assert_equal(400, SubutaiConfig.get(:_DISK_SIZE))
132
+ assert_equal(2, SubutaiConfig.get(:_DISK_PORT))
133
+ assert_true(File.exist?('./.vagrant/generated.yml'))
134
+ end
135
+
136
+ def test_vmware_create_disk
137
+ if File.exist?('/tmp/SubutaiDisk-1-1.vmdk')
138
+ FileUtils.rm('/tmp/SubutaiDisk-1-1.vmdk')
139
+ end
140
+ SubutaiConfig.cleanup!
141
+ SubutaiConfig.override_conf_file('./test/disk_create.yml')
142
+ SubutaiConfig.load_config('up', :virtualbox)
143
+
144
+ puts "DISKSIZE: #{SubutaiConfig.get(:DISK_SIZE)}"
145
+ assert_equal(1, SubutaiConfig.get_grow_by)
146
+ assert_true(SubutaiDisk.vmware_create_disk(SubutaiConfig.get_grow_by,
147
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by,
148
+ "vmware")))
149
+ end
150
+
151
+ def test_hyperv_create_disk
152
+ SubutaiConfig.cleanup!
153
+ SubutaiConfig.override_conf_file('./test/disk_create.yml')
154
+ SubutaiConfig.load_config('up', :virtualbox)
155
+
156
+ assert_equal(1, SubutaiConfig.get_grow_by)
157
+ assert_false(SubutaiDisk.hyperv_create_disk(SubutaiConfig.get_grow_by,
158
+ SubutaiDisk.file_path(SubutaiConfig.get_grow_by,
159
+ "hyper_v")))
160
+ end
161
+
162
+ def test_hyperv_remove_disk
163
+ assert_false(SubutaiDisk.hyperv_remove_disk)
164
+ end
165
+
166
+ def test_save_path
167
+ SubutaiConfig.cleanup!
168
+ SubutaiConfig.override_conf_file('./test/disk_create.yml')
169
+ SubutaiConfig.load_config('up', :virtualbox)
170
+
171
+
172
+ grow_by = SubutaiConfig.get_grow_by
173
+ assert_equal(1, grow_by)
174
+ assert_equal('/tmp/SubutaiDisk-1-1.vmdk',
175
+ SubutaiDisk.file_path(grow_by, "vmware"))
176
+
177
+ File.delete(SubutaiDisk.file_path(grow_by, "vmware")) if File.exist?(SubutaiDisk.file_path(grow_by,
178
+ "vmware"))
179
+
180
+ assert_true(SubutaiDisk.vmware_create_disk(grow_by,
181
+ SubutaiDisk.file_path(grow_by,
182
+ "vmware")))
183
+
184
+ assert_true(SubutaiDisk.save_path(SubutaiDisk.port,
185
+ SubutaiDisk.file_path(grow_by,
186
+ "vmware")))
187
+
188
+ assert_true(SubutaiDisk.save_conf(grow_by))
189
+
190
+ hash = {}
191
+ hash[1] = "/tmp/SubutaiDisk-1-1.vmdk"
192
+ assert_equal(hash, SubutaiConfig.get(:_DISK_PATHES))
193
+
194
+
195
+ # Let's set disk size 150 Gb, grow by would be 49
196
+ SubutaiConfig.put(:DISK_SIZE, 150, false)
197
+ grow_by = SubutaiConfig.get_grow_by
198
+ assert_equal(49, grow_by)
199
+ assert_equal('/tmp/SubutaiDisk-2-49.vmdk',
200
+ SubutaiDisk.file_path(grow_by, "vmware"))
201
+
202
+ File.delete(SubutaiDisk.file_path(grow_by, "vmware")) if File.exist?(SubutaiDisk.file_path(grow_by,
203
+ "vmware"))
204
+
205
+ assert_true(SubutaiDisk.vmware_create_disk(grow_by,
206
+ SubutaiDisk.file_path(grow_by,
207
+ "vmware")))
208
+
209
+ assert_true(SubutaiDisk.save_path(SubutaiDisk.port,
210
+ SubutaiDisk.file_path(grow_by,
211
+ "vmware")))
212
+
213
+ assert_true(SubutaiDisk.save_conf(grow_by))
214
+ hash[2] = "/tmp/SubutaiDisk-2-49.vmdk"
215
+ assert_equal(hash, SubutaiConfig.get(:_DISK_PATHES))
216
+
217
+ SubutaiConfig.cleanup!
218
+ assert_equal(nil, SubutaiConfig.get(:_DISK_PATHES))
219
+ end
220
+ end