-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsubutai_validation_test.rb
85 lines (69 loc) · 2.63 KB
/
subutai_validation_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
require 'test/unit'
require_relative '../lib/vagrant-subutai/packer/subutai_validation'
require_relative '../lib/vagrant-subutai/packer/subutai_config'
# Tests the subutai_hooks module
class SubutaiValidationTest < Test::Unit::TestCase
def setup
# Do nothing
end
def teardown
# Do nothing
end
def test_bool
assert_true(SubutaiValidation.bool?('true'))
assert_false(SubutaiValidation.bool?('not_fool'))
assert_true(SubutaiValidation.bool?('false'))
assert_true(SubutaiValidation.bool?(true))
assert_true(SubutaiValidation.bool?(false))
end
def test_is_json
assert_true(SubutaiValidation.is_json?("{\"key\": \"value\"}"))
assert_false(SubutaiValidation.is_json?("{key: value}"))
assert_false(SubutaiValidation.is_json?("key value"))
assert_true(SubutaiValidation.is_json?({"key": "value"}))
assert_true(SubutaiValidation.is_json?('{"key": "value"}'))
end
def test_validation
assert_true(SubutaiValidation.validate(:AUTHORIZED_KEYS, './test/'))
assert_true(SubutaiValidation.validate(:DISK_SIZE, 1000))
assert_true(SubutaiValidation.validate(:LIBVIRT_NO_MACVTAP, 'false'))
assert_true(SubutaiValidation.validate(:SUBUTAI_ENV, 'sysnet'))
assert_true(SubutaiValidation.validate(:APT_PROXY_URL, 'https://google.com'))
assert_true(SubutaiValidation.validate(:SUBUTAI_SCOPE, 'PublIC'))
assert_raise do
SubutaiValidation.validate(:DISK_SIZE, 'fdfd')
end
assert_raise do
SubutaiValidation.validate(:SUBUTAI_ENV_TYPE, 'bazaaar')
end
assert_raise do
SubutaiValidation.validate(:SUBUTAI_SCOPE, 'private1')
end
assert_raise do
SubutaiValidation.validate(:SUBUTAI_SCOPE, 'private1')
end
assert_raise do
SubutaiValidation.validate(:SUBUTAI_MAN_TMPL, 'private1')
end
assert_raise do
SubutaiValidation.validate(:SUBUTAI_PASSWORD, 56565)
end
end
def test_user_conf_params
SubutaiValidation::USER_CONF_PARAMS_TYPE.keys.each do |key|
assert_true(SubutaiConfig::USER_PARAMETERS.include?(key))
end
end
def test_user_conf_params_type
user_conf_types = [:int, :bool, :path, :url, :string, :enum, :json_object]
SubutaiValidation::USER_CONF_PARAMS_TYPE.keys.each do |key|
assert_true(user_conf_types.include?(SubutaiValidation::USER_CONF_PARAMS_TYPE[key]))
end
end
def test_writable_and_exist
assert_false(SubutaiValidation.writable_and_exist?('/home'))
assert_true(SubutaiValidation.writable_and_exist?("#{Dir.pwd}"))
assert_false(SubutaiValidation.writable_and_exist?('/root'))
assert_false(SubutaiValidation.writable_and_exist?('/home/not_exist_user'))
end
end