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 CHANGED
@@ -1,3 +1,9 @@
1
+ === 0.5.2 / 06-25-2012
2
+
3
+ * 1 bug fix:
4
+
5
+ * Prevent a premature failure when resources have nil owner, group and mode.
6
+
1
7
  === 0.5.1 / 05-31-2012
2
8
 
3
9
  * 1 new feature:
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
- cookbooks/foo/tests/default_test.rb
136
- cookbooks/foo/tests/default/*_test.rb
135
+ ```
136
+ cookbooks/foo/tests/default_test.rb
137
+ cookbooks/foo/tests/default/*_test.rb
137
138
 
138
- cookbooks/foo/specs/default_spec.rb
139
- cookbooks/foo/specs/default/*_spec.rb
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
- cookbooks/foo/tests/install_test.rb
144
- cookbooks/foo/tests/install/*_test.rb
145
+ ```
146
+ cookbooks/foo/tests/install_test.rb
147
+ cookbooks/foo/tests/install/*_test.rb
145
148
 
146
- cookbooks/foo/specs/install_spec.rb
147
- cookbooks/foo/specs/install/*_spec.rb
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, values)
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, values)
43
+ def resource_value(attribute)
42
44
  case attribute
43
- when :mode then mode.kind_of?(Integer) ? mode.to_s(8) : mode.to_s
44
- when :owner || :user then Etc.getpwuid(owner).name
45
- when :group then Etc.getgrgid(group).name
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.1'
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.1
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-01 00:00:00.000000000 Z
12
+ date: 2012-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: chef
16
- requirement: &70293859474040 !ruby/object:Gem::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: *70293859474040
24
+ version_requirements: *70277779223160
25
25
  - !ruby/object:Gem::Dependency
26
- name: rake
27
- requirement: &70293859473200 !ruby/object:Gem::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: :development
33
+ type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70293859473200
35
+ version_requirements: *70277779222700
36
36
  - !ruby/object:Gem::Dependency
37
- name: rspec
38
- requirement: &70293859472480 !ruby/object:Gem::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: *70293859472480
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: 833207758309813032
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: 833207758309813032
118
+ hash: -4169045649435813440
119
119
  requirements: []
120
120
  rubyforge_project:
121
121
  rubygems_version: 1.8.11