minitest-chef-handler 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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