chef-attribute-validator 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDdiM2M5N2FjMTI2MjY4NWI0ZDViYzU5ZTAzZDAzNDBmZjgwMjkwNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjM3MmUzZDExMWJkMmNkNTYwMWFhNWMzNDA0ZDY1NDhmY2M0NzhiYg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjQwNjUzNTM5NjQ1NzBkZDZlYzEzMmQzOThjZmFmYzU5NTlhZGQ2MjMwYWMz
|
10
|
+
ZmFlOGZlNzVjYWIwNGRmODM4MmMzMDc5YjE5ODgyOWYzZmJjYTNmNGEyODJi
|
11
|
+
YTc5ZjRiMmU4YzE0YmY4YjBhMjdhOGU2NDYxNTI4NGE2MDJmOGI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTg2YjY1ZWJiYzZlNjllNGVhNWYxYTlkYzc5NGViYjA1ZDFkYTE4MmRkMDk3
|
14
|
+
NjA4Yjc1YjVkZjA2NTk2MTJjYmM1OWFkYjIxOGY5MDcyOTk1NmUyZjFmMGRj
|
15
|
+
ODg5ZTVhZjEzMDFjMWNiNGRlYzU4MmI2ZmMzNzZjZTc3ZjRjNWU=
|
data/CHANGES
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
2013-11-15 Clinton Wolfe 0.3.1
|
2
|
+
regex check should violate, but not throw exception, when given a non-string
|
3
|
+
|
1
4
|
2013-11-12 Clinton Wolfe 0.3.0
|
2
5
|
Support for enum check
|
3
6
|
Support for proc check
|
@@ -10,3 +13,4 @@
|
|
10
13
|
Initial release
|
11
14
|
Type, Regex, Min/Max Children, Required, and LooksLike checks
|
12
15
|
No wildcards in paths yet, planned for 0.2.0
|
16
|
+
|
@@ -16,8 +16,12 @@ class Chef
|
|
16
16
|
violations = []
|
17
17
|
attrset.each do |path, value|
|
18
18
|
if val_scalar?(value)
|
19
|
-
|
20
|
-
|
19
|
+
if value.respond_to?(:match)
|
20
|
+
unless check_arg.match(value)
|
21
|
+
violations.push Chef::Attribute::Validator::Violation.new(rule_name, path, "Attribute's value is '#{value}', which does not match regex '#{check_arg}'")
|
22
|
+
end
|
23
|
+
else
|
24
|
+
violations.push Chef::Attribute::Validator::Violation.new(rule_name, path, "Attribute's value is '#{value}' (class #{value.class.name}), which is cannot be regexed")
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -5,7 +5,9 @@ default['foo'] = 'foo'
|
|
5
5
|
default['bar'] = 'bar'
|
6
6
|
default['chow'] = 'food'
|
7
7
|
default['vittles'] = 'victuals'
|
8
|
-
|
8
|
+
default['nil'] = nil
|
9
|
+
default['false'] = false
|
10
|
+
default['one'] = 1
|
9
11
|
|
10
12
|
rules = default['attribute-validator']['rules']
|
11
13
|
|
@@ -40,3 +42,17 @@ rules['not-foo-foo'] = {
|
|
40
42
|
}
|
41
43
|
|
42
44
|
|
45
|
+
rules['foo-nil'] = {
|
46
|
+
'path' => '/nil',
|
47
|
+
'regex' => /foo/,
|
48
|
+
}
|
49
|
+
|
50
|
+
rules['foo-false'] = {
|
51
|
+
'path' => '/false',
|
52
|
+
'regex' => /foo/,
|
53
|
+
}
|
54
|
+
|
55
|
+
rules['foo-one'] = {
|
56
|
+
'path' => '/one',
|
57
|
+
'regex' => /foo/,
|
58
|
+
}
|
@@ -57,6 +57,17 @@ describe "'regex' check" do
|
|
57
57
|
it "/^(?!foo)/ should violate on foo" do
|
58
58
|
expect(av.validate_rule('not-foo-foo')).not_to be_empty
|
59
59
|
end
|
60
|
+
|
61
|
+
it "/foo/ should violate on false" do
|
62
|
+
expect { av.validate_rule('foo-false') }.not_to raise_error
|
63
|
+
expect(av.validate_rule('foo-false')).not_to be_empty
|
64
|
+
end
|
65
|
+
|
66
|
+
it "/foo/ should violate on 1" do
|
67
|
+
expect { av.validate_rule('foo-one') }.not_to raise_error
|
68
|
+
expect(av.validate_rule('foo-one')).not_to be_empty
|
69
|
+
end
|
70
|
+
|
60
71
|
end
|
61
72
|
|
62
73
|
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-attribute-validator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: !binary |-
|
5
|
+
MC4zLjE=
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Clinton Wolfe
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-15 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|