minitest-chef-handler 0.5.1 → 0.5.2
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.
- data/History.txt +6 -0
- data/README.md +12 -8
- data/lib/minitest-chef-handler/resources.rb +13 -7
- data/minitest-chef-handler.gemspec +2 -2
- data/spec/minitest-chef-handler/resources_spec.rb +35 -0
- metadata +14 -14
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -132,19 +132,23 @@ Examples:
|
|
132
132
|
|
133
133
|
If the seen recipes includes the recipe "foo" we try to load tests from:
|
134
134
|
|
135
|
-
|
136
|
-
|
135
|
+
```
|
136
|
+
cookbooks/foo/tests/default_test.rb
|
137
|
+
cookbooks/foo/tests/default/*_test.rb
|
137
138
|
|
138
|
-
|
139
|
-
|
139
|
+
cookbooks/foo/specs/default_spec.rb
|
140
|
+
cookbooks/foo/specs/default/*_spec.rb
|
141
|
+
```
|
140
142
|
|
141
143
|
If the seen recipes includes the recipe "foo::install" we try to load tests from:
|
142
144
|
|
143
|
-
|
144
|
-
|
145
|
+
```
|
146
|
+
cookbooks/foo/tests/install_test.rb
|
147
|
+
cookbooks/foo/tests/install/*_test.rb
|
145
148
|
|
146
|
-
|
147
|
-
|
149
|
+
cookbooks/foo/specs/install_spec.rb
|
150
|
+
cookbooks/foo/specs/install/*_spec.rb
|
151
|
+
```
|
148
152
|
|
149
153
|
## Automatic chef failure
|
150
154
|
|
@@ -29,26 +29,32 @@ module MiniTest
|
|
29
29
|
::Chef::Resource.class_eval do
|
30
30
|
include MiniTest::Assertions
|
31
31
|
def with(attribute, values)
|
32
|
-
actual_values = resource_value(attribute
|
32
|
+
actual_values = resource_value(attribute)
|
33
33
|
assert_equal values, actual_values,
|
34
34
|
"The #{resource_name} does not have the expected #{attribute}"
|
35
35
|
self
|
36
36
|
end
|
37
|
+
|
37
38
|
alias :and :with
|
38
39
|
alias :must_have :with
|
40
|
+
|
39
41
|
private
|
40
42
|
|
41
|
-
def resource_value(attribute
|
43
|
+
def resource_value(attribute)
|
42
44
|
case attribute
|
43
|
-
when :mode
|
44
|
-
|
45
|
-
|
45
|
+
when :mode
|
46
|
+
return nil unless mode
|
47
|
+
mode.kind_of?(Integer) ? mode.to_s(8) : mode.to_s
|
48
|
+
when :owner || :user
|
49
|
+
return nil unless owner
|
50
|
+
owner.is_a?(Integer) ? Etc.getpwuid(owner).name : Etc.getpwnam(owner).name
|
51
|
+
when :group
|
52
|
+
return nil unless group
|
53
|
+
group.is_a?(Integer) ? Etc.getgrgid(group).name : Etc.getgrnam(group).name
|
46
54
|
else send(attribute)
|
47
55
|
end
|
48
56
|
end
|
49
|
-
|
50
57
|
end
|
51
|
-
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
@@ -11,9 +11,9 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
12
12
|
gem.name = "minitest-chef-handler"
|
13
13
|
gem.require_paths = ["lib"]
|
14
|
-
gem.version = '0.5.
|
14
|
+
gem.version = '0.5.2'
|
15
15
|
|
16
|
+
gem.add_dependency('minitest')
|
16
17
|
gem.add_dependency('chef')
|
17
18
|
gem.add_development_dependency('rake')
|
18
|
-
gem.add_development_dependency('rspec')
|
19
19
|
end
|
@@ -48,4 +48,39 @@ describe MiniTest::Chef::Resources do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
describe "asserting with :mode" do
|
52
|
+
let(:file) { ::Chef::Resource::File.new('/etc/foo') }
|
53
|
+
|
54
|
+
it "fail when the mode is nil" do
|
55
|
+
file.set_or_return(:mode, nil, {})
|
56
|
+
|
57
|
+
assert_triggered(/Expected: "755"\n Actual: nil/) do
|
58
|
+
file.must_have(:mode, '755')
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "asserting with :owner" do
|
64
|
+
let(:file) { ::Chef::Resource::File.new('/etc/foo') }
|
65
|
+
|
66
|
+
it "fail when the owner is nil" do
|
67
|
+
file.set_or_return(:owner, nil, {})
|
68
|
+
|
69
|
+
assert_triggered(/Expected: "david"\n Actual: nil/) do
|
70
|
+
file.must_have(:owner, 'david')
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe "asserting with :group" do
|
76
|
+
let(:file) { ::Chef::Resource::File.new('/etc/foo') }
|
77
|
+
|
78
|
+
it "fail when the group is nil" do
|
79
|
+
file.set_or_return(:group, nil, {})
|
80
|
+
|
81
|
+
assert_triggered(/Expected: "staff"\n Actual: nil/) do
|
82
|
+
file.must_have(:owner, 'staff')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
51
86
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-chef-handler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement: &
|
15
|
+
name: minitest
|
16
|
+
requirement: &70277779223160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,21 +21,21 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70277779223160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement: &
|
26
|
+
name: chef
|
27
|
+
requirement: &70277779222700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0'
|
33
|
-
type: :
|
33
|
+
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70277779222700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
37
|
+
name: rake
|
38
|
+
requirement: &70277779222260 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70277779222260
|
47
47
|
description: Run Minitest suites as Chef report handlers
|
48
48
|
email:
|
49
49
|
- david.calavera@gmail.com
|
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
106
|
version: '0'
|
107
107
|
segments:
|
108
108
|
- 0
|
109
|
-
hash:
|
109
|
+
hash: -4169045649435813440
|
110
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
111
|
none: false
|
112
112
|
requirements:
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
version: '0'
|
116
116
|
segments:
|
117
117
|
- 0
|
118
|
-
hash:
|
118
|
+
hash: -4169045649435813440
|
119
119
|
requirements: []
|
120
120
|
rubyforge_project:
|
121
121
|
rubygems_version: 1.8.11
|