chefspec 2.0.1 → 3.0.0.beta.1
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.
- checksums.yaml +4 -4
- data/lib/chefspec.rb +30 -44
- data/lib/chefspec/api.rb +74 -0
- data/lib/chefspec/api/apt_package.rb +192 -0
- data/lib/chefspec/api/batch.rb +43 -0
- data/lib/chefspec/api/chef_gem.rb +191 -0
- data/lib/chefspec/api/cookbook_file.rb +166 -0
- data/lib/chefspec/api/cron.rb +80 -0
- data/lib/chefspec/api/deploy.rb +117 -0
- data/lib/chefspec/api/directory.rb +80 -0
- data/lib/chefspec/api/dpkg_package.rb +117 -0
- data/lib/chefspec/api/easy_install_package.rb +154 -0
- data/lib/chefspec/api/env.rb +117 -0
- data/lib/chefspec/api/erl_call.rb +43 -0
- data/lib/chefspec/api/execute.rb +43 -0
- data/lib/chefspec/api/file.rb +166 -0
- data/lib/chefspec/api/freebsd_package.rb +80 -0
- data/lib/chefspec/api/gem_package.rb +191 -0
- data/lib/chefspec/api/git.rb +117 -0
- data/lib/chefspec/api/group.rb +154 -0
- data/lib/chefspec/api/http_request.rb +228 -0
- data/lib/chefspec/api/ifconfig.rb +154 -0
- data/lib/chefspec/api/include_recipe.rb +26 -0
- data/lib/chefspec/api/ips_package.rb +117 -0
- data/lib/chefspec/api/link.rb +102 -0
- data/lib/chefspec/api/log.rb +43 -0
- data/lib/chefspec/api/macports_package.rb +154 -0
- data/lib/chefspec/api/mdadm.rb +117 -0
- data/lib/chefspec/api/mount.rb +192 -0
- data/lib/chefspec/api/notifications.rb +38 -0
- data/lib/chefspec/api/ohai.rb +43 -0
- data/lib/chefspec/api/package.rb +192 -0
- data/lib/chefspec/api/pacman_package.rb +155 -0
- data/lib/chefspec/api/portage_package.rb +155 -0
- data/lib/chefspec/api/powershell_script.rb +43 -0
- data/lib/chefspec/api/registry_key.rb +166 -0
- data/lib/chefspec/api/remote_directory.rb +120 -0
- data/lib/chefspec/api/remote_file.rb +166 -0
- data/lib/chefspec/api/render_file.rb +32 -0
- data/lib/chefspec/api/route.rb +80 -0
- data/lib/chefspec/api/rpm_package.rb +117 -0
- data/lib/chefspec/api/ruby_block.rb +37 -0
- data/lib/chefspec/api/script.rb +228 -0
- data/lib/chefspec/api/service.rb +246 -0
- data/lib/chefspec/api/smartos_package.rb +117 -0
- data/lib/chefspec/api/solaris_package.rb +80 -0
- data/lib/chefspec/api/subversion.rb +154 -0
- data/lib/chefspec/api/template.rb +166 -0
- data/lib/chefspec/api/user.rb +228 -0
- data/lib/chefspec/api/yum_package.rb +154 -0
- data/lib/chefspec/berkshelf.rb +37 -0
- data/lib/chefspec/deprecations.rb +151 -0
- data/lib/chefspec/errors.rb +99 -0
- data/lib/chefspec/expect_exception.rb +45 -0
- data/lib/chefspec/extensions/chef/client.rb +15 -0
- data/lib/chefspec/extensions/chef/conditional.rb +11 -0
- data/lib/chefspec/extensions/chef/data_query.rb +29 -0
- data/lib/chefspec/extensions/chef/lwrp_base.rb +44 -0
- data/lib/chefspec/extensions/chef/resource.rb +27 -0
- data/lib/chefspec/extensions/chef/securable.rb +19 -0
- data/lib/chefspec/formatter.rb +270 -0
- data/lib/chefspec/macros.rb +217 -0
- data/lib/chefspec/matchers.rb +9 -0
- data/lib/chefspec/matchers/include_recipe_matcher.rb +45 -0
- data/lib/chefspec/matchers/link_to_matcher.rb +28 -0
- data/lib/chefspec/matchers/notifications_matcher.rb +92 -0
- data/lib/chefspec/matchers/render_file_matcher.rb +72 -0
- data/lib/chefspec/matchers/resource_matcher.rb +143 -0
- data/lib/chefspec/renderer.rb +137 -0
- data/lib/chefspec/rspec.rb +17 -0
- data/lib/chefspec/runner.rb +274 -0
- data/lib/chefspec/stubs/command_registry.rb +11 -0
- data/lib/chefspec/stubs/command_stub.rb +37 -0
- data/lib/chefspec/stubs/data_bag_item_registry.rb +13 -0
- data/lib/chefspec/stubs/data_bag_item_stub.rb +25 -0
- data/lib/chefspec/stubs/data_bag_registry.rb +13 -0
- data/lib/chefspec/stubs/data_bag_stub.rb +23 -0
- data/lib/chefspec/stubs/registry.rb +32 -0
- data/lib/chefspec/stubs/search_registry.rb +13 -0
- data/lib/chefspec/stubs/search_stub.rb +25 -0
- data/lib/chefspec/stubs/stub.rb +37 -0
- data/lib/chefspec/version.rb +1 -2
- metadata +100 -103
- data/lib/chef/expect_exception.rb +0 -34
- data/lib/chef/formatters/chefspec.rb +0 -233
- data/lib/chef/knife/cookbook_create_specs.rb +0 -107
- data/lib/chefspec/chef_runner.rb +0 -275
- data/lib/chefspec/helpers/describe.rb +0 -17
- data/lib/chefspec/matchers/cron.rb +0 -7
- data/lib/chefspec/matchers/env.rb +0 -8
- data/lib/chefspec/matchers/execute.rb +0 -33
- data/lib/chefspec/matchers/file.rb +0 -83
- data/lib/chefspec/matchers/file_content.rb +0 -32
- data/lib/chefspec/matchers/group.rb +0 -8
- data/lib/chefspec/matchers/include_recipe.rb +0 -20
- data/lib/chefspec/matchers/link.rb +0 -14
- data/lib/chefspec/matchers/log.rb +0 -21
- data/lib/chefspec/matchers/notifications.rb +0 -43
- data/lib/chefspec/matchers/package.rb +0 -39
- data/lib/chefspec/matchers/python.rb +0 -7
- data/lib/chefspec/matchers/ruby_block.rb +0 -13
- data/lib/chefspec/matchers/script.rb +0 -34
- data/lib/chefspec/matchers/service.rb +0 -25
- data/lib/chefspec/matchers/shared.rb +0 -132
- data/lib/chefspec/matchers/user.rb +0 -8
- data/lib/chefspec/minitest.rb +0 -195
- data/lib/chefspec/monkey_patches/conditional.rb +0 -19
- data/lib/chefspec/monkey_patches/hash.rb +0 -23
- data/lib/chefspec/monkey_patches/lwrp_base.rb +0 -45
- data/lib/chefspec/monkey_patches/provider.rb +0 -43
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require_relative 'stub'
|
|
2
|
+
|
|
3
|
+
module ChefSpec
|
|
4
|
+
module Stubs
|
|
5
|
+
class SearchStub < Stub
|
|
6
|
+
attr_reader :block
|
|
7
|
+
attr_reader :query
|
|
8
|
+
attr_reader :type
|
|
9
|
+
|
|
10
|
+
def initialize(type, query = '*:*', &block)
|
|
11
|
+
@type = type.to_s
|
|
12
|
+
@query = query
|
|
13
|
+
@block = block
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def signature
|
|
17
|
+
if @block
|
|
18
|
+
"stub_search(#{@type.inspect}, #{@query.inspect}) { # Ruby code }"
|
|
19
|
+
else
|
|
20
|
+
"stub_search(#{@type.inspect}, #{@query.inspect}).and_return(#{@value})"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module ChefSpec
|
|
2
|
+
module Stubs
|
|
3
|
+
class Stub
|
|
4
|
+
attr_reader :value
|
|
5
|
+
|
|
6
|
+
def and_return(value)
|
|
7
|
+
@value = value
|
|
8
|
+
self
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def and_raise(exception)
|
|
12
|
+
@block = Proc.new { raise exception }
|
|
13
|
+
self
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def result
|
|
17
|
+
if @block
|
|
18
|
+
recursively_mashify(@block.call)
|
|
19
|
+
else
|
|
20
|
+
recursively_mashify(@value)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
def recursively_mashify(thing)
|
|
26
|
+
case thing
|
|
27
|
+
when Array
|
|
28
|
+
thing.collect { |item| recursively_mashify(item) }
|
|
29
|
+
when Hash
|
|
30
|
+
Mash.from_hash(thing)
|
|
31
|
+
else
|
|
32
|
+
thing
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
data/lib/chefspec/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,43 +1,30 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chefspec
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0.beta.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Crump
|
|
8
|
+
- Seth Vargo
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date: 2013-
|
|
12
|
+
date: 2013-10-10 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: chef
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
16
17
|
requirements:
|
|
17
|
-
- -
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '10.0'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - '>='
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '10.0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: erubis
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - '>='
|
|
18
|
+
- - ~>
|
|
32
19
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
20
|
+
version: '11.0'
|
|
34
21
|
type: :runtime
|
|
35
22
|
prerelease: false
|
|
36
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
24
|
requirements:
|
|
38
|
-
- -
|
|
25
|
+
- - ~>
|
|
39
26
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
27
|
+
version: '11.0'
|
|
41
28
|
- !ruby/object:Gem::Dependency
|
|
42
29
|
name: fauxhai
|
|
43
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,34 +39,20 @@ dependencies:
|
|
|
52
39
|
- - ~>
|
|
53
40
|
- !ruby/object:Gem::Version
|
|
54
41
|
version: '1.1'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: minitest-chef-handler
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - '>='
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.6.0
|
|
62
|
-
type: :runtime
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - '>='
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.6.0
|
|
69
42
|
- !ruby/object:Gem::Dependency
|
|
70
43
|
name: rspec
|
|
71
44
|
requirement: !ruby/object:Gem::Requirement
|
|
72
45
|
requirements:
|
|
73
46
|
- - ~>
|
|
74
47
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '2.
|
|
48
|
+
version: '2.14'
|
|
76
49
|
type: :runtime
|
|
77
50
|
prerelease: false
|
|
78
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
52
|
requirements:
|
|
80
53
|
- - ~>
|
|
81
54
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '2.
|
|
55
|
+
version: '2.14'
|
|
83
56
|
- !ruby/object:Gem::Dependency
|
|
84
57
|
name: rake
|
|
85
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -95,108 +68,132 @@ dependencies:
|
|
|
95
68
|
- !ruby/object:Gem::Version
|
|
96
69
|
version: '0'
|
|
97
70
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
71
|
+
name: redcarpet
|
|
99
72
|
requirement: !ruby/object:Gem::Requirement
|
|
100
73
|
requirements:
|
|
101
74
|
- - ~>
|
|
102
75
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0
|
|
76
|
+
version: '3.0'
|
|
104
77
|
type: :development
|
|
105
78
|
prerelease: false
|
|
106
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
80
|
requirements:
|
|
108
81
|
- - ~>
|
|
109
82
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0
|
|
83
|
+
version: '3.0'
|
|
111
84
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ~>
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0.5'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ~>
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0.5'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: cucumber
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ~>
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '1.3'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ~>
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '1.3'
|
|
139
|
-
- !ruby/object:Gem::Dependency
|
|
140
|
-
name: i18n
|
|
85
|
+
name: yard
|
|
141
86
|
requirement: !ruby/object:Gem::Requirement
|
|
142
87
|
requirements:
|
|
143
88
|
- - ~>
|
|
144
89
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '0.
|
|
90
|
+
version: '0.8'
|
|
146
91
|
type: :development
|
|
147
92
|
prerelease: false
|
|
148
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
94
|
requirements:
|
|
150
95
|
- - ~>
|
|
151
96
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '0.
|
|
97
|
+
version: '0.8'
|
|
153
98
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
99
|
+
name: aruba
|
|
155
100
|
requirement: !ruby/object:Gem::Requirement
|
|
156
101
|
requirements:
|
|
157
102
|
- - ~>
|
|
158
103
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '0.
|
|
104
|
+
version: '0.5'
|
|
160
105
|
type: :development
|
|
161
106
|
prerelease: false
|
|
162
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
108
|
requirements:
|
|
164
109
|
- - ~>
|
|
165
110
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0.
|
|
111
|
+
version: '0.5'
|
|
167
112
|
description: Write RSpec examples for Opscode Chef recipes
|
|
168
113
|
email:
|
|
169
114
|
executables: []
|
|
170
115
|
extensions: []
|
|
171
116
|
extra_rdoc_files: []
|
|
172
117
|
files:
|
|
173
|
-
- lib/
|
|
174
|
-
- lib/
|
|
175
|
-
- lib/
|
|
176
|
-
- lib/chefspec/
|
|
177
|
-
- lib/chefspec/
|
|
178
|
-
- lib/chefspec/
|
|
179
|
-
- lib/chefspec/
|
|
180
|
-
- lib/chefspec/
|
|
181
|
-
- lib/chefspec/
|
|
182
|
-
- lib/chefspec/
|
|
183
|
-
- lib/chefspec/
|
|
184
|
-
- lib/chefspec/
|
|
185
|
-
- lib/chefspec/
|
|
186
|
-
- lib/chefspec/
|
|
187
|
-
- lib/chefspec/
|
|
188
|
-
- lib/chefspec/
|
|
189
|
-
- lib/chefspec/
|
|
190
|
-
- lib/chefspec/
|
|
191
|
-
- lib/chefspec/
|
|
192
|
-
- lib/chefspec/
|
|
193
|
-
- lib/chefspec/
|
|
194
|
-
- lib/chefspec/
|
|
195
|
-
- lib/chefspec/
|
|
196
|
-
- lib/chefspec/
|
|
197
|
-
- lib/chefspec/
|
|
198
|
-
- lib/chefspec/
|
|
199
|
-
- lib/chefspec/
|
|
118
|
+
- lib/chefspec/api/apt_package.rb
|
|
119
|
+
- lib/chefspec/api/batch.rb
|
|
120
|
+
- lib/chefspec/api/chef_gem.rb
|
|
121
|
+
- lib/chefspec/api/cookbook_file.rb
|
|
122
|
+
- lib/chefspec/api/cron.rb
|
|
123
|
+
- lib/chefspec/api/deploy.rb
|
|
124
|
+
- lib/chefspec/api/directory.rb
|
|
125
|
+
- lib/chefspec/api/dpkg_package.rb
|
|
126
|
+
- lib/chefspec/api/easy_install_package.rb
|
|
127
|
+
- lib/chefspec/api/env.rb
|
|
128
|
+
- lib/chefspec/api/erl_call.rb
|
|
129
|
+
- lib/chefspec/api/execute.rb
|
|
130
|
+
- lib/chefspec/api/file.rb
|
|
131
|
+
- lib/chefspec/api/freebsd_package.rb
|
|
132
|
+
- lib/chefspec/api/gem_package.rb
|
|
133
|
+
- lib/chefspec/api/git.rb
|
|
134
|
+
- lib/chefspec/api/group.rb
|
|
135
|
+
- lib/chefspec/api/http_request.rb
|
|
136
|
+
- lib/chefspec/api/ifconfig.rb
|
|
137
|
+
- lib/chefspec/api/include_recipe.rb
|
|
138
|
+
- lib/chefspec/api/ips_package.rb
|
|
139
|
+
- lib/chefspec/api/link.rb
|
|
140
|
+
- lib/chefspec/api/log.rb
|
|
141
|
+
- lib/chefspec/api/macports_package.rb
|
|
142
|
+
- lib/chefspec/api/mdadm.rb
|
|
143
|
+
- lib/chefspec/api/mount.rb
|
|
144
|
+
- lib/chefspec/api/notifications.rb
|
|
145
|
+
- lib/chefspec/api/ohai.rb
|
|
146
|
+
- lib/chefspec/api/package.rb
|
|
147
|
+
- lib/chefspec/api/pacman_package.rb
|
|
148
|
+
- lib/chefspec/api/portage_package.rb
|
|
149
|
+
- lib/chefspec/api/powershell_script.rb
|
|
150
|
+
- lib/chefspec/api/registry_key.rb
|
|
151
|
+
- lib/chefspec/api/remote_directory.rb
|
|
152
|
+
- lib/chefspec/api/remote_file.rb
|
|
153
|
+
- lib/chefspec/api/render_file.rb
|
|
154
|
+
- lib/chefspec/api/route.rb
|
|
155
|
+
- lib/chefspec/api/rpm_package.rb
|
|
156
|
+
- lib/chefspec/api/ruby_block.rb
|
|
157
|
+
- lib/chefspec/api/script.rb
|
|
158
|
+
- lib/chefspec/api/service.rb
|
|
159
|
+
- lib/chefspec/api/smartos_package.rb
|
|
160
|
+
- lib/chefspec/api/solaris_package.rb
|
|
161
|
+
- lib/chefspec/api/subversion.rb
|
|
162
|
+
- lib/chefspec/api/template.rb
|
|
163
|
+
- lib/chefspec/api/user.rb
|
|
164
|
+
- lib/chefspec/api/yum_package.rb
|
|
165
|
+
- lib/chefspec/api.rb
|
|
166
|
+
- lib/chefspec/berkshelf.rb
|
|
167
|
+
- lib/chefspec/deprecations.rb
|
|
168
|
+
- lib/chefspec/errors.rb
|
|
169
|
+
- lib/chefspec/expect_exception.rb
|
|
170
|
+
- lib/chefspec/extensions/chef/client.rb
|
|
171
|
+
- lib/chefspec/extensions/chef/conditional.rb
|
|
172
|
+
- lib/chefspec/extensions/chef/data_query.rb
|
|
173
|
+
- lib/chefspec/extensions/chef/lwrp_base.rb
|
|
174
|
+
- lib/chefspec/extensions/chef/resource.rb
|
|
175
|
+
- lib/chefspec/extensions/chef/securable.rb
|
|
176
|
+
- lib/chefspec/formatter.rb
|
|
177
|
+
- lib/chefspec/macros.rb
|
|
178
|
+
- lib/chefspec/matchers/include_recipe_matcher.rb
|
|
179
|
+
- lib/chefspec/matchers/link_to_matcher.rb
|
|
180
|
+
- lib/chefspec/matchers/notifications_matcher.rb
|
|
181
|
+
- lib/chefspec/matchers/render_file_matcher.rb
|
|
182
|
+
- lib/chefspec/matchers/resource_matcher.rb
|
|
183
|
+
- lib/chefspec/matchers.rb
|
|
184
|
+
- lib/chefspec/renderer.rb
|
|
185
|
+
- lib/chefspec/rspec.rb
|
|
186
|
+
- lib/chefspec/runner.rb
|
|
187
|
+
- lib/chefspec/stubs/command_registry.rb
|
|
188
|
+
- lib/chefspec/stubs/command_stub.rb
|
|
189
|
+
- lib/chefspec/stubs/data_bag_item_registry.rb
|
|
190
|
+
- lib/chefspec/stubs/data_bag_item_stub.rb
|
|
191
|
+
- lib/chefspec/stubs/data_bag_registry.rb
|
|
192
|
+
- lib/chefspec/stubs/data_bag_stub.rb
|
|
193
|
+
- lib/chefspec/stubs/registry.rb
|
|
194
|
+
- lib/chefspec/stubs/search_registry.rb
|
|
195
|
+
- lib/chefspec/stubs/search_stub.rb
|
|
196
|
+
- lib/chefspec/stubs/stub.rb
|
|
200
197
|
- lib/chefspec/version.rb
|
|
201
198
|
- lib/chefspec.rb
|
|
202
199
|
homepage: http://acrmp.github.com/chefspec
|
|
@@ -214,14 +211,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
214
211
|
version: '1.9'
|
|
215
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
216
213
|
requirements:
|
|
217
|
-
- - '
|
|
214
|
+
- - '>'
|
|
218
215
|
- !ruby/object:Gem::Version
|
|
219
|
-
version:
|
|
216
|
+
version: 1.3.1
|
|
220
217
|
requirements: []
|
|
221
218
|
rubyforge_project:
|
|
222
219
|
rubygems_version: 2.0.3
|
|
223
220
|
signing_key:
|
|
224
221
|
specification_version: 4
|
|
225
|
-
summary: chefspec-
|
|
222
|
+
summary: chefspec-3.0.0.beta.1
|
|
226
223
|
test_files: []
|
|
227
224
|
has_rdoc:
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
class Chef
|
|
2
|
-
module ExpectException
|
|
3
|
-
class << self
|
|
4
|
-
def expected?(chef_message, exception, *args)
|
|
5
|
-
@b.call(chef_message, exception)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def expect(klass, message)
|
|
9
|
-
expect_block do |chef_message, exception|
|
|
10
|
-
match?(exception, klass, message)
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def expect_block(&block)
|
|
15
|
-
@b = block
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def clear
|
|
19
|
-
@b = lambda{|cm, e| false}
|
|
20
|
-
clear_seen
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def clear_seen
|
|
24
|
-
@seen = []
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def match?(exception, klass, message)
|
|
28
|
-
exception.class == klass and exception.message == message
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
clear
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
if defined?(Chef::Formatters::Base)
|
|
2
|
-
class Chef
|
|
3
|
-
module Formatters
|
|
4
|
-
class ChefSpec < Base
|
|
5
|
-
cli_name(:chefspec)
|
|
6
|
-
|
|
7
|
-
attr_reader :updated_resources, :updates_by_resource
|
|
8
|
-
|
|
9
|
-
def initialize(out, err)
|
|
10
|
-
super
|
|
11
|
-
@updated_resources = []
|
|
12
|
-
@updates_by_resource = Hash.new {|h, k| h[k] = []}
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def error_expected?(message, exception, *args)
|
|
16
|
-
ExpectException.expected?(message, exception, *args)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Called at the very start of a Chef Run
|
|
20
|
-
def run_start(version)
|
|
21
|
-
puts "Starting Chef Client, version #{version}"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
# Called at the end of the Chef run.
|
|
25
|
-
def run_completed(node)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# called at the end of a failed run
|
|
29
|
-
def run_failed(exception)
|
|
30
|
-
return if error_expected?(:run_failed, exception)
|
|
31
|
-
puts "chef client failed. #{@updated_resources.size} resources updated"
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# Called right after ohai runs.
|
|
35
|
-
def ohai_completed(node)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# Already have a client key, assuming this node has registered.
|
|
39
|
-
def skipping_registration(node_name, config)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# About to attempt to register as +node_name+
|
|
43
|
-
def registration_start(node_name, config)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def registration_completed
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
# Failed to register this client with the server.
|
|
50
|
-
def registration_failed(node_name, exception, config)
|
|
51
|
-
super unless error_expected?(:registration_failed, exception, config, node_name)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def node_load_start(node_name, config)
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
# Failed to load node data from the server
|
|
58
|
-
def node_load_failed(node_name, exception, config)
|
|
59
|
-
super unless error_expected?(:node_load_failed, exception)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def run_list_expand_failed(expanded_run_list, exception)
|
|
63
|
-
super unless error_expected?(:run_list_expand_failed, exception, expanded_run_list)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# Default and override attrs from roles have been computed, but not yet applied.
|
|
67
|
-
# Normal attrs from JSON have been added to the node.
|
|
68
|
-
def node_load_completed(node, expanded_run_list, config)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# Called before the cookbook collection is fetched from the server.
|
|
72
|
-
def cookbook_resolution_start(expanded_run_list)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Called when there is an error getting the cookbook collection from the
|
|
76
|
-
# server.
|
|
77
|
-
def cookbook_resolution_failed(expanded_run_list, exception)
|
|
78
|
-
super unless error_expected?(:cookbook_resolution_failed, exception, expanded_run_list)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def cookbook_sync_failed(cookbooks, exception)
|
|
82
|
-
super unless error_expected?(:cookbook_sync_failed, exception, cookbooks)
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
# Called when the cookbook collection is returned from the server.
|
|
86
|
-
def cookbook_resolution_complete(cookbook_collection)
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
# Called before unneeded cookbooks are removed
|
|
90
|
-
#--
|
|
91
|
-
# TODO: Should be called in CookbookVersion.sync_cookbooks
|
|
92
|
-
def cookbook_clean_start
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
# Called after the file at +path+ is removed. It may be removed if the
|
|
96
|
-
# cookbook containing it was removed from the run list, or if the file was
|
|
97
|
-
# removed from the cookbook.
|
|
98
|
-
def removed_cookbook_file(path)
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
# Called when cookbook cleaning is finished.
|
|
102
|
-
def cookbook_clean_complete
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
# Called before cookbook sync starts
|
|
106
|
-
def cookbook_sync_start(cookbook_count)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
# Called when cookbook +cookbook_name+ has been sync'd
|
|
110
|
-
def synchronized_cookbook(cookbook_name)
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
# Called when an individual file in a cookbook has been updated
|
|
114
|
-
def updated_cookbook_file(cookbook_name, path)
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
# Called after all cookbooks have been sync'd.
|
|
118
|
-
def cookbook_sync_complete
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
# Called when cookbook loading starts.
|
|
122
|
-
def library_load_start(file_count)
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
# Called after a file in a cookbook is loaded.
|
|
126
|
-
def file_loaded(path)
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
def file_load_failed(path, exception, message = :file_load_failed, &block)
|
|
130
|
-
super(path, exception, &block) unless error_expected?(message, exception, path)
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def library_file_load_failed(path, exception)
|
|
134
|
-
file_load_failed(path, exception, :library_file_load_failed)
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def lwrp_file_load_failed(path, exception)
|
|
138
|
-
file_load_failed(path, exception, :lwrp_file_load_failed)
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
def attribute_file_load_failed(path, exception)
|
|
142
|
-
file_load_failed(path, exception, :attribute_file_load_failed)
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def definition_file_load_failed(path, exception)
|
|
146
|
-
file_load_failed(path, exception, :definition_file_load_failed)
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
def recipe_file_load_failed(path, exception)
|
|
150
|
-
file_load_failed(path, exception, :recipe_file_load_failed)
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
# Called when recipes have been loaded.
|
|
154
|
-
def recipe_load_complete
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
# Called before convergence starts
|
|
158
|
-
def converge_start(run_context)
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
# Called when the converge phase is finished.
|
|
162
|
-
def converge_complete
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
# Called before action is executed on a resource.
|
|
166
|
-
def resource_action_start(resource, action, notification_type=nil, notifier=nil)
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
# Called when a resource fails, but will retry.
|
|
170
|
-
def resource_failed_retriable(resource, action, retry_count, exception)
|
|
171
|
-
super unless error_expected?(:resource_failed_retriable, exception, retry_count, action, resource)
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
# Called when a resource fails and will not be retried.
|
|
175
|
-
def resource_failed(resource, action, exception)
|
|
176
|
-
super unless error_expected?(:resource, exception, exception, resource)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# Called when a resource action has been skipped b/c of a conditional
|
|
180
|
-
def resource_skipped(resource, action, conditional)
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
# Called after #load_current_resource has run.
|
|
184
|
-
def resource_current_state_loaded(resource, action, current_resource)
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
# Called when a resource has no converge actions, e.g., it was already correct.
|
|
188
|
-
def resource_up_to_date(resource, action)
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
## TODO: callback for assertion failures
|
|
192
|
-
|
|
193
|
-
## TODO: callback for assertion fallback in why run
|
|
194
|
-
|
|
195
|
-
def recipe_not_found(exception)
|
|
196
|
-
super unless error_expected?(:recipe_not_found, exception)
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
# Called when a change has been made to a resource. May be called multiple
|
|
200
|
-
# times per resource, e.g., a file may have its content updated, and then
|
|
201
|
-
# its permissions updated.
|
|
202
|
-
def resource_update_applied(resource, action, update)
|
|
203
|
-
@updates_by_resource[resource.name] << Array(update)[0]
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
# Called after a resource has been completely converged.
|
|
207
|
-
def resource_updated(resource, action)
|
|
208
|
-
updated_resources << resource
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
# Called before handlers run
|
|
212
|
-
def handlers_start(handler_count)
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
# Called after an individual handler has run
|
|
216
|
-
def handler_executed(handler)
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
# Called after all handlers have executed
|
|
220
|
-
def handlers_completed
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
# An uncategorized message. This supports the case that a user needs to
|
|
224
|
-
# pass output that doesn't fit into one of the callbacks above. Note that
|
|
225
|
-
# there's no semantic information about the content or importance of the
|
|
226
|
-
# message. That means that if you're using this too often, you should add a
|
|
227
|
-
# callback for it.
|
|
228
|
-
def msg(message)
|
|
229
|
-
end
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
end
|