cheffish 1.1.2 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,19 +18,17 @@ describe Chef::Resource::ChefClient do
18
18
 
19
19
  context 'and is empty' do
20
20
  context 'and we have a private key with a path' do
21
- with_recipe do
21
+ with_converge do
22
22
  private_key "#{repo_path}/blah.pem"
23
23
  end
24
24
 
25
25
  context 'and we run a recipe that creates client "blah"' do
26
- with_converge do
27
- chef_client 'blah' do
28
- source_key_path "#{repo_path}/blah.pem"
29
- end
30
- end
31
-
32
26
  it 'the client gets created' do
33
- expect(chef_run).to have_updated 'chef_client[blah]', :create
27
+ expect_recipe {
28
+ chef_client 'blah' do
29
+ source_key_path "#{repo_path}/blah.pem"
30
+ end
31
+ }.to have_updated 'chef_client[blah]', :create
34
32
  client = get('clients/blah')
35
33
  expect(client['name']).to eq('blah')
36
34
  key, format = Cheffish::KeyFormatter.decode(client['public_key'])
@@ -58,19 +56,17 @@ describe Chef::Resource::ChefClient do
58
56
  Chef::Config.private_key_paths = [ repo_path ]
59
57
  end
60
58
 
61
- with_recipe do
59
+ with_converge do
62
60
  private_key 'blah'
63
61
  end
64
62
 
65
63
  context "and a chef_client 'foobar' resource with source_key_path 'blah'" do
66
- with_converge do
67
- chef_client 'foobar' do
68
- source_key_path 'blah'
69
- end
70
- end
71
-
72
64
  it 'the client is accessible via the given private key' do
73
- expect(chef_run).to have_updated 'chef_client[foobar]', :create
65
+ expect_recipe {
66
+ chef_client 'foobar' do
67
+ source_key_path 'blah'
68
+ end
69
+ }.to have_updated 'chef_client[foobar]', :create
74
70
  client = get('clients/foobar')
75
71
  key, format = Cheffish::KeyFormatter.decode(client['public_key'])
76
72
  expect(key).to be_public_key_for("#{repo_path}/blah.pem")
@@ -86,19 +82,17 @@ describe Chef::Resource::ChefClient do
86
82
  when_the_chef_server 'is in OSC mode' do
87
83
  context 'and is empty' do
88
84
  context 'and we have a private key with a path' do
89
- with_recipe do
85
+ with_converge do
90
86
  private_key "#{repo_path}/blah.pem"
91
87
  end
92
88
 
93
89
  context 'and we run a recipe that creates client "blah"' do
94
- with_converge do
95
- chef_client 'blah' do
96
- source_key_path "#{repo_path}/blah.pem"
97
- end
98
- end
99
-
100
90
  it 'the client gets created' do
101
- expect(chef_run).to have_updated 'chef_client[blah]', :create
91
+ expect_recipe {
92
+ chef_client 'blah' do
93
+ source_key_path "#{repo_path}/blah.pem"
94
+ end
95
+ }.to have_updated 'chef_client[blah]', :create
102
96
  client = get('clients/blah')
103
97
  expect(client['name']).to eq('blah')
104
98
  key, format = Cheffish::KeyFormatter.decode(client['public_key'])
@@ -14,10 +14,9 @@ describe Chef::Resource::ChefContainer do
14
14
  end
15
15
 
16
16
  it 'Converging chef_container "x" creates the container' do
17
- run_recipe do
17
+ expect_recipe {
18
18
  chef_container 'x'
19
- end
20
- expect(chef_run).to have_updated('chef_container[x]', :create)
19
+ }.to have_updated('chef_container[x]', :create)
21
20
  expect { get('containers/x') }.not_to raise_error
22
21
  end
23
22
 
@@ -25,10 +24,9 @@ describe Chef::Resource::ChefContainer do
25
24
  container 'x', {}
26
25
 
27
26
  it 'Converging chef_container "x" changes nothing' do
28
- run_recipe do
27
+ expect_recipe {
29
28
  chef_container 'x'
30
- end
31
- expect(chef_run).not_to have_updated('chef_container[x]', :create)
29
+ }.not_to have_updated('chef_container[x]', :create)
32
30
  end
33
31
  end
34
32
  end
@@ -19,10 +19,9 @@ describe Chef::Resource::ChefGroup do
19
19
  client 'c', {}
20
20
 
21
21
  it 'Converging chef_group "x" creates the group with no members' do
22
- run_recipe do
22
+ expect_recipe {
23
23
  chef_group 'x'
24
- end
25
- expect(chef_run).to have_updated('chef_group[x]', :create)
24
+ }.to have_updated('chef_group[x]', :create)
26
25
  expect(get('groups/x')).to eq({
27
26
  'name' => 'x',
28
27
  'groupname' => 'x',
@@ -35,25 +34,22 @@ describe Chef::Resource::ChefGroup do
35
34
  end
36
35
 
37
36
  it 'chef_group "x" action :delete does nothing' do
38
- run_recipe do
37
+ expect_recipe {
39
38
  chef_group 'x' do
40
39
  action :delete
41
40
  end
42
- end
43
- expect(chef_run).not_to have_updated('chef_group[x]', :delete)
44
- expect(chef_run).not_to have_updated('chef_group[x]', :create)
41
+ }.to not_have_updated('chef_group[x]', :delete).and not_have_updated('chef_group[x]', :create)
45
42
  expect { get('groups/x') }.to raise_error(Net::HTTPServerException)
46
43
  end
47
44
 
48
45
  it 'Converging chef_group "x" creates the group with the given members' do
49
- run_recipe do
46
+ expect_recipe {
50
47
  chef_group 'x' do
51
48
  groups 'g'
52
49
  users 'u'
53
50
  clients 'c'
54
51
  end
55
- end
56
- expect(chef_run).to have_updated('chef_group[x]', :create)
52
+ }.to have_updated('chef_group[x]', :create)
57
53
  expect(get('groups/x')).to eq({
58
54
  'name' => 'x',
59
55
  'groupname' => 'x',
@@ -87,10 +83,9 @@ describe Chef::Resource::ChefGroup do
87
83
  }
88
84
 
89
85
  it 'Converging chef_group "x" changes nothing' do
90
- run_recipe do
86
+ expect_recipe {
91
87
  chef_group 'x'
92
- end
93
- expect(chef_run).not_to have_updated('chef_group[x]', :create)
88
+ }.not_to have_updated('chef_group[x]', :create)
94
89
  expect(get('groups/x')).to eq({
95
90
  'name' => 'x',
96
91
  'groupname' => 'x',
@@ -103,24 +98,22 @@ describe Chef::Resource::ChefGroup do
103
98
  end
104
99
 
105
100
  it 'chef_group "x" action :delete deletes the group' do
106
- run_recipe do
101
+ expect_recipe {
107
102
  chef_group 'x' do
108
103
  action :delete
109
104
  end
110
- end
111
- expect(chef_run).to have_updated('chef_group[x]', :delete)
105
+ }.to have_updated('chef_group[x]', :delete)
112
106
  expect { get('groups/x') }.to raise_error(Net::HTTPServerException)
113
107
  end
114
108
 
115
109
  it 'Converging chef_group "x" with existing users changes nothing' do
116
- run_recipe do
110
+ expect_recipe {
117
111
  chef_group 'x' do
118
112
  users 'u'
119
113
  clients 'c'
120
114
  groups 'g'
121
115
  end
122
- end
123
- expect(chef_run).not_to have_updated('chef_group[x]', :create)
116
+ }.not_to have_updated('chef_group[x]', :create)
124
117
  expect(get('groups/x')).to eq({
125
118
  'name' => 'x',
126
119
  'groupname' => 'x',
@@ -133,14 +126,13 @@ describe Chef::Resource::ChefGroup do
133
126
  end
134
127
 
135
128
  it 'Converging chef_group "x" adds new users' do
136
- run_recipe do
129
+ expect_recipe {
137
130
  chef_group 'x' do
138
131
  users 'u3'
139
132
  clients 'c3'
140
133
  groups 'g3'
141
134
  end
142
- end
143
- expect(chef_run).to have_updated('chef_group[x]', :create)
135
+ }.to have_updated('chef_group[x]', :create)
144
136
  expect(get('groups/x')).to eq({
145
137
  'name' => 'x',
146
138
  'groupname' => 'x',
@@ -153,14 +145,13 @@ describe Chef::Resource::ChefGroup do
153
145
  end
154
146
 
155
147
  it 'Converging chef_group "x" with multiple users adds new users' do
156
- run_recipe do
148
+ expect_recipe {
157
149
  chef_group 'x' do
158
150
  users 'u3', 'u4'
159
151
  clients 'c3', 'c4'
160
152
  groups 'g3', 'g4'
161
153
  end
162
- end
163
- expect(chef_run).to have_updated('chef_group[x]', :create)
154
+ }.to have_updated('chef_group[x]', :create)
164
155
  expect(get('groups/x')).to eq({
165
156
  'name' => 'x',
166
157
  'groupname' => 'x',
@@ -173,14 +164,13 @@ describe Chef::Resource::ChefGroup do
173
164
  end
174
165
 
175
166
  it 'Converging chef_group "x" with multiple users in an array adds new users' do
176
- run_recipe do
167
+ expect_recipe {
177
168
  chef_group 'x' do
178
169
  users [ 'u3', 'u4' ]
179
170
  clients [ 'c3', 'c4' ]
180
171
  groups [ 'g3', 'g4' ]
181
172
  end
182
- end
183
- expect(chef_run).to have_updated('chef_group[x]', :create)
173
+ }.to have_updated('chef_group[x]', :create)
184
174
  expect(get('groups/x')).to eq({
185
175
  'name' => 'x',
186
176
  'groupname' => 'x',
@@ -193,7 +183,7 @@ describe Chef::Resource::ChefGroup do
193
183
  end
194
184
 
195
185
  it 'Converging chef_group "x" with multiple users declarations adds new users' do
196
- run_recipe do
186
+ expect_recipe {
197
187
  chef_group 'x' do
198
188
  users 'u3'
199
189
  users 'u4'
@@ -202,8 +192,7 @@ describe Chef::Resource::ChefGroup do
202
192
  groups 'g3'
203
193
  groups 'g4'
204
194
  end
205
- end
206
- expect(chef_run).to have_updated('chef_group[x]', :create)
195
+ }.to have_updated('chef_group[x]', :create)
207
196
  expect(get('groups/x')).to eq({
208
197
  'name' => 'x',
209
198
  'groupname' => 'x',
@@ -216,14 +205,13 @@ describe Chef::Resource::ChefGroup do
216
205
  end
217
206
 
218
207
  it 'Converging chef_group "x" removes desired users' do
219
- run_recipe do
208
+ expect_recipe {
220
209
  chef_group 'x' do
221
210
  remove_users 'u2'
222
211
  remove_clients 'c2'
223
212
  remove_groups 'g2'
224
213
  end
225
- end
226
- expect(chef_run).to have_updated('chef_group[x]', :create)
214
+ }.to have_updated('chef_group[x]', :create)
227
215
  expect(get('groups/x')).to eq({
228
216
  'name' => 'x',
229
217
  'groupname' => 'x',
@@ -236,14 +224,13 @@ describe Chef::Resource::ChefGroup do
236
224
  end
237
225
 
238
226
  it 'Converging chef_group "x" with multiple users removes desired users' do
239
- run_recipe do
227
+ expect_recipe {
240
228
  chef_group 'x' do
241
229
  remove_users 'u', 'u2'
242
230
  remove_clients 'c', 'c2'
243
231
  remove_groups 'g', 'g2'
244
232
  end
245
- end
246
- expect(chef_run).to have_updated('chef_group[x]', :create)
233
+ }.to have_updated('chef_group[x]', :create)
247
234
  expect(get('groups/x')).to eq({
248
235
  'name' => 'x',
249
236
  'groupname' => 'x',
@@ -256,14 +243,13 @@ describe Chef::Resource::ChefGroup do
256
243
  end
257
244
 
258
245
  it 'Converging chef_group "x" with multiple users in an array removes desired users' do
259
- run_recipe do
246
+ expect_recipe {
260
247
  chef_group 'x' do
261
248
  remove_users [ 'u', 'u2' ]
262
249
  remove_clients [ 'c', 'c2' ]
263
250
  remove_groups [ 'g', 'g2' ]
264
251
  end
265
- end
266
- expect(chef_run).to have_updated('chef_group[x]', :create)
252
+ }.to have_updated('chef_group[x]', :create)
267
253
  expect(get('groups/x')).to eq({
268
254
  'name' => 'x',
269
255
  'groupname' => 'x',
@@ -276,7 +262,7 @@ describe Chef::Resource::ChefGroup do
276
262
  end
277
263
 
278
264
  it 'Converging chef_group "x" with multiple remove_ declarations removes desired users' do
279
- run_recipe do
265
+ expect_recipe {
280
266
  chef_group 'x' do
281
267
  remove_users 'u'
282
268
  remove_users 'u2'
@@ -285,8 +271,7 @@ describe Chef::Resource::ChefGroup do
285
271
  remove_groups 'g'
286
272
  remove_groups 'g2'
287
273
  end
288
- end
289
- expect(chef_run).to have_updated('chef_group[x]', :create)
274
+ }.to have_updated('chef_group[x]', :create)
290
275
  expect(get('groups/x')).to eq({
291
276
  'name' => 'x',
292
277
  'groupname' => 'x',
@@ -299,7 +284,7 @@ describe Chef::Resource::ChefGroup do
299
284
  end
300
285
 
301
286
  it 'Converging chef_group "x" adds and removes desired users' do
302
- run_recipe do
287
+ expect_recipe {
303
288
  chef_group 'x' do
304
289
  users 'u3'
305
290
  clients 'c3'
@@ -308,8 +293,7 @@ describe Chef::Resource::ChefGroup do
308
293
  remove_clients 'c'
309
294
  remove_groups 'g'
310
295
  end
311
- end
312
- expect(chef_run).to have_updated('chef_group[x]', :create)
296
+ }.to have_updated('chef_group[x]', :create)
313
297
  expect(get('groups/x')).to eq({
314
298
  'name' => 'x',
315
299
  'groupname' => 'x',
@@ -22,23 +22,21 @@ describe Chef::Resource::ChefMirror do
22
22
  end
23
23
 
24
24
  it "Download grabs defaults" do
25
- run_recipe do
25
+ expect_recipe {
26
26
  chef_mirror '' do
27
27
  action :download
28
28
  end
29
- end
30
- expect(chef_run).to have_updated('chef_mirror[]', :download)
29
+ }.to have_updated('chef_mirror[]', :download)
31
30
  expect(File.exist?(path_to('groups/admins.json'))).to be true
32
31
  expect(File.exist?(path_to('environments/_default.json'))).to be true
33
32
  end
34
33
 
35
34
  it "Upload uploads everything" do
36
- run_recipe do
35
+ expect_recipe {
37
36
  chef_mirror '' do
38
37
  action :upload
39
38
  end
40
- end
41
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
39
+ }.to have_updated('chef_mirror[]', :upload)
42
40
  expect { get('nodes/x') }.not_to raise_error
43
41
  expect { get('roles/x') }.not_to raise_error
44
42
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
@@ -46,12 +44,12 @@ describe Chef::Resource::ChefMirror do
46
44
 
47
45
  it 'chef_mirror with concurrency 0 fails with a reasonable message' do
48
46
  expect {
49
- run_recipe do
47
+ converge {
50
48
  chef_mirror '' do
51
49
  concurrency 0
52
50
  action :download
53
51
  end
54
- end
52
+ }
55
53
  }.to raise_error /chef_mirror.concurrency must be above 0/
56
54
  end
57
55
  end
@@ -63,23 +61,21 @@ describe Chef::Resource::ChefMirror do
63
61
 
64
62
  when_the_repository 'is empty' do
65
63
  it "Download grabs the node and role" do
66
- run_recipe do
64
+ expect_recipe {
67
65
  chef_mirror '' do
68
66
  action :download
69
67
  end
70
- end
71
- expect(chef_run).to have_updated('chef_mirror[]', :download)
68
+ }.to have_updated('chef_mirror[]', :download)
72
69
  expect(File.exist?(path_to('nodes/x.json'))).to be true
73
70
  expect(File.exist?(path_to('roles/x.json'))).to be true
74
71
  end
75
72
 
76
73
  it "Upload uploads nothing" do
77
- run_recipe do
74
+ expect_recipe {
78
75
  chef_mirror '' do
79
76
  action :upload
80
77
  end
81
- end
82
- expect(chef_run).not_to have_updated('chef_mirror[]', :upload)
78
+ }.not_to have_updated('chef_mirror[]', :upload)
83
79
  end
84
80
  end
85
81
  end
@@ -93,12 +89,11 @@ describe Chef::Resource::ChefMirror do
93
89
  file 'roles/y.json', {}
94
90
 
95
91
  it "Download grabs the x's" do
96
- run_recipe do
92
+ expect_recipe {
97
93
  chef_mirror '' do
98
94
  action :download
99
95
  end
100
- end
101
- expect(chef_run).to have_updated('chef_mirror[]', :download)
96
+ }.to have_updated('chef_mirror[]', :download)
102
97
  expect(File.exist?(path_to('nodes/x.json'))).to be true
103
98
  expect(File.exist?(path_to('roles/x.json'))).to be true
104
99
  expect(File.exist?(path_to('nodes/y.json'))).to be true
@@ -106,12 +101,11 @@ describe Chef::Resource::ChefMirror do
106
101
  end
107
102
 
108
103
  it "Upload uploads the y's" do
109
- run_recipe do
104
+ expect_recipe {
110
105
  chef_mirror '' do
111
106
  action :upload
112
107
  end
113
- end
114
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
108
+ }.to have_updated('chef_mirror[]', :upload)
115
109
  expect { get('nodes/x') }.not_to raise_error
116
110
  expect { get('roles/x') }.not_to raise_error
117
111
  expect { get('nodes/y') }.not_to raise_error
@@ -119,25 +113,23 @@ describe Chef::Resource::ChefMirror do
119
113
  end
120
114
 
121
115
  it "Download with purge grabs the x's and deletes the y's" do
122
- run_recipe do
116
+ expect_recipe {
123
117
  chef_mirror '' do
124
118
  purge true
125
119
  action :download
126
120
  end
127
- end
128
- expect(chef_run).to have_updated('chef_mirror[]', :download)
121
+ }.to have_updated('chef_mirror[]', :download)
129
122
  expect(File.exist?(path_to('nodes/x.json'))).to be true
130
123
  expect(File.exist?(path_to('roles/x.json'))).to be true
131
124
  end
132
125
 
133
126
  it "Upload with :purge uploads the y's and deletes the x's" do
134
- run_recipe do
127
+ expect_recipe {
135
128
  chef_mirror '*/*.json' do
136
129
  purge true
137
130
  action :upload
138
131
  end
139
- end
140
- expect(chef_run).to have_updated('chef_mirror[*/*.json]', :upload)
132
+ }.to have_updated('chef_mirror[*/*.json]', :upload)
141
133
  expect { get('nodes/y') }.not_to raise_error
142
134
  expect { get('roles/y') }.not_to raise_error
143
135
  end
@@ -160,13 +152,12 @@ describe Chef::Resource::ChefMirror do
160
152
 
161
153
  it "Upload with chef_repo_path('repo') uploads everything" do
162
154
  repo_path = path_to('repo')
163
- run_recipe do
155
+ expect_recipe {
164
156
  chef_mirror '' do
165
157
  chef_repo_path repo_path
166
158
  action :upload
167
159
  end
168
- end
169
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
160
+ }.to have_updated('chef_mirror[]', :upload)
170
161
  expect { get('nodes/x') }.not_to raise_error
171
162
  expect { get('roles/x') }.not_to raise_error
172
163
  expect { get('nodes/y') }.to raise_error
@@ -176,13 +167,12 @@ describe Chef::Resource::ChefMirror do
176
167
  it "Upload with chef_repo_path(:chef_repo_path) with multiple paths uploads everything" do
177
168
  repo_path = path_to('repo')
178
169
  repo2_path = path_to('repo2')
179
- run_recipe do
170
+ expect_recipe {
180
171
  chef_mirror '' do
181
172
  chef_repo_path :chef_repo_path => [ repo_path, repo2_path ]
182
173
  action :upload
183
174
  end
184
- end
185
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
175
+ }.to have_updated('chef_mirror[]', :upload)
186
176
  expect { get('nodes/x') }.not_to raise_error
187
177
  expect { get('roles/x') }.not_to raise_error
188
178
  expect { get('nodes/y') }.not_to raise_error
@@ -193,15 +183,14 @@ describe Chef::Resource::ChefMirror do
193
183
  repo_path = path_to('repo')
194
184
  repo2_path = path_to('repo2')
195
185
 
196
- run_recipe do
186
+ expect_recipe {
197
187
  chef_mirror '' do
198
188
  chef_repo_path :chef_repo_path => '/blahblah',
199
189
  :node_path => "#{repo_path}/nodes",
200
190
  :role_path => "#{repo2_path}/roles"
201
191
  action :upload
202
192
  end
203
- end
204
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
193
+ }.to have_updated('chef_mirror[]', :upload)
205
194
  expect { get('nodes/x') }.not_to raise_error
206
195
  expect { get('roles/x') }.to raise_error
207
196
  expect { get('nodes/y') }.to raise_error
@@ -212,14 +201,13 @@ describe Chef::Resource::ChefMirror do
212
201
  repo_path = path_to('repo')
213
202
  repo2_path = path_to('repo2')
214
203
 
215
- run_recipe do
204
+ expect_recipe {
216
205
  chef_mirror '' do
217
206
  chef_repo_path :chef_repo_path => repo_path,
218
207
  :role_path => "#{repo2_path}/roles"
219
208
  action :upload
220
209
  end
221
- end
222
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
210
+ }.to have_updated('chef_mirror[]', :upload)
223
211
  expect { get('nodes/x') }.not_to raise_error
224
212
  expect { get('roles/x') }.to raise_error
225
213
  expect { get('nodes/y') }.to raise_error
@@ -230,15 +218,14 @@ describe Chef::Resource::ChefMirror do
230
218
  repo_path = path_to('repo')
231
219
  repo2_path = path_to('repo2')
232
220
 
233
- run_recipe do
221
+ expect_recipe {
234
222
  chef_mirror '' do
235
223
  chef_repo_path :chef_repo_path => [ 'foo', 'bar' ],
236
224
  :node_path => [ "#{repo_path}/nodes", "#{repo2_path}/nodes" ],
237
225
  :role_path => [ "#{repo_path}/roles", "#{repo2_path}/roles" ]
238
226
  action :upload
239
227
  end
240
- end
241
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
228
+ }.to have_updated('chef_mirror[]', :upload)
242
229
  expect { get('nodes/x') }.not_to raise_error
243
230
  expect { get('roles/x') }.not_to raise_error
244
231
  expect { get('nodes/y') }.not_to raise_error
@@ -253,12 +240,11 @@ describe Chef::Resource::ChefMirror do
253
240
  file 'cookbooks/y-1.0.0/metadata.rb', 'name "y-3.0.0"; version "4.0.0"'
254
241
 
255
242
  it "chef_mirror :upload uploads everything" do
256
- run_recipe do
243
+ expect_recipe {
257
244
  chef_mirror '' do
258
245
  action :upload
259
246
  end
260
- end
261
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
247
+ }.to have_updated('chef_mirror[]', :upload)
262
248
  expect { get('cookbooks/x-1.0.0/2.0.0') }.not_to raise_error
263
249
  expect { get('cookbooks/y-3.0.0/4.0.0') }.not_to raise_error
264
250
  end
@@ -268,12 +254,11 @@ describe Chef::Resource::ChefMirror do
268
254
  Chef::Config.versioned_cookbooks false
269
255
  end
270
256
  it "chef_mirror :upload uploads everything" do
271
- run_recipe do
257
+ expect_recipe {
272
258
  chef_mirror '' do
273
259
  action :upload
274
260
  end
275
- end
276
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
261
+ }.to have_updated('chef_mirror[]', :upload)
277
262
  expect { get('cookbooks/x-1.0.0/2.0.0') }.not_to raise_error
278
263
  expect { get('cookbooks/y-3.0.0/4.0.0') }.not_to raise_error
279
264
  end
@@ -287,14 +272,13 @@ describe Chef::Resource::ChefMirror do
287
272
 
288
273
  it "chef_mirror :upload with chef_repo_path and versioned_cookbooks false uploads cookbooks with name including version" do
289
274
  repository_dir = @repository_dir
290
- run_recipe do
275
+ expect_recipe {
291
276
  chef_mirror '' do
292
277
  chef_repo_path repository_dir
293
278
  versioned_cookbooks false
294
279
  action :upload
295
280
  end
296
- end
297
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
281
+ }.to have_updated('chef_mirror[]', :upload)
298
282
  expect { get('cookbooks/x-1.0.0/2.0.0') }.not_to raise_error
299
283
  expect { get('cookbooks/y-3.0.0/4.0.0') }.not_to raise_error
300
284
  end
@@ -310,12 +294,11 @@ describe Chef::Resource::ChefMirror do
310
294
  Chef::Config.versioned_cookbooks true
311
295
  end
312
296
  it "chef_mirror :upload uploads everything" do
313
- run_recipe do
297
+ expect_recipe {
314
298
  chef_mirror '' do
315
299
  action :upload
316
300
  end
317
- end
318
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
301
+ }.to have_updated('chef_mirror[]', :upload)
319
302
  expect { get('cookbooks/x/1.0.0') }.not_to raise_error
320
303
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
321
304
  end
@@ -327,13 +310,12 @@ describe Chef::Resource::ChefMirror do
327
310
  end
328
311
  it "chef_mirror :upload with chef_repo_path uploads cookbooks" do
329
312
  repository_dir = @repository_dir
330
- run_recipe do
313
+ expect_recipe {
331
314
  chef_mirror '' do
332
315
  chef_repo_path repository_dir
333
316
  action :upload
334
317
  end
335
- end
336
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
318
+ }.to have_updated('chef_mirror[]', :upload)
337
319
  expect { get('cookbooks/x/1.0.0') }.not_to raise_error
338
320
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
339
321
  end
@@ -347,27 +329,25 @@ describe Chef::Resource::ChefMirror do
347
329
 
348
330
  it "chef_mirror :upload with chef_repo_path uploads cookbooks with name split from version" do
349
331
  repository_dir = @repository_dir
350
- run_recipe do
332
+ expect_recipe {
351
333
  chef_mirror '' do
352
334
  chef_repo_path repository_dir
353
335
  action :upload
354
336
  end
355
- end
356
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
337
+ }.to have_updated('chef_mirror[]', :upload)
357
338
  expect { get('cookbooks/x/1.0.0') }.not_to raise_error
358
339
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
359
340
  end
360
341
 
361
342
  it "chef_mirror :upload with chef_repo_path and versioned_cookbooks uploads cookbooks with name split from version" do
362
343
  repository_dir = @repository_dir
363
- run_recipe do
344
+ expect_recipe {
364
345
  chef_mirror '' do
365
346
  chef_repo_path repository_dir
366
347
  versioned_cookbooks true
367
348
  action :upload
368
349
  end
369
- end
370
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
350
+ }.to have_updated('chef_mirror[]', :upload)
371
351
  expect { get('cookbooks/x/1.0.0') }.not_to raise_error
372
352
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
373
353
  end
@@ -380,13 +360,12 @@ describe Chef::Resource::ChefMirror do
380
360
  end
381
361
  it "chef_mirror :upload with chef_repo_path uploads cookbooks with name split from version" do
382
362
  repository_dir = @repository_dir
383
- run_recipe do
363
+ expect_recipe {
384
364
  chef_mirror '' do
385
365
  chef_repo_path repository_dir
386
366
  action :upload
387
367
  end
388
- end
389
- expect(chef_run).to have_updated('chef_mirror[]', :upload)
368
+ }.to have_updated('chef_mirror[]', :upload)
390
369
  expect { get('cookbooks/x/1.0.0') }.not_to raise_error
391
370
  expect { get('cookbooks/x/2.0.0') }.not_to raise_error
392
371
  end
@@ -401,23 +380,21 @@ describe Chef::Resource::ChefMirror do
401
380
 
402
381
  when_the_repository 'is empty' do
403
382
  it 'chef_mirror :download downloads the latest version of the cookbook' do
404
- run_recipe do
383
+ expect_recipe {
405
384
  chef_mirror '' do
406
385
  action :download
407
386
  end
408
- end
409
- expect(chef_run).to have_updated('chef_mirror[]', :download)
387
+ }.to have_updated('chef_mirror[]', :download)
410
388
  expect(File.read(path_to('cookbooks/x/metadata.rb'))).to eq('name "x"; version "2.0.0"')
411
389
  end
412
390
 
413
391
  it 'chef_mirror :download with versioned_cookbooks = true downloads all versions of the cookbook' do
414
- run_recipe do
392
+ expect_recipe {
415
393
  chef_mirror '' do
416
394
  versioned_cookbooks true
417
395
  action :download
418
396
  end
419
- end
420
- expect(chef_run).to have_updated('chef_mirror[]', :download)
397
+ }.to have_updated('chef_mirror[]', :download)
421
398
  expect(File.read(path_to('cookbooks/x-1.0.0/metadata.rb'))).to eq('name "x"; version "1.0.0"')
422
399
  expect(File.read(path_to('cookbooks/x-2.0.0/metadata.rb'))).to eq('name "x"; version "2.0.0"')
423
400
  end
@@ -429,27 +406,25 @@ describe Chef::Resource::ChefMirror do
429
406
 
430
407
  it 'chef_mirror :download with chef_repo_path downloads all versions of the cookbook' do
431
408
  repository_dir = @repository_dir
432
- run_recipe do
409
+ expect_recipe {
433
410
  chef_mirror '' do
434
411
  chef_repo_path repository_dir
435
412
  action :download
436
413
  end
437
- end
438
- expect(chef_run).to have_updated('chef_mirror[]', :download)
414
+ }.to have_updated('chef_mirror[]', :download)
439
415
  expect(File.read(path_to('cookbooks/x-1.0.0/metadata.rb'))).to eq('name "x"; version "1.0.0"')
440
416
  expect(File.read(path_to('cookbooks/x-2.0.0/metadata.rb'))).to eq('name "x"; version "2.0.0"')
441
417
  end
442
418
 
443
419
  it 'chef_mirror :download with chef_repo_path and versioned_cookbooks = false downloads the latest version of the cookbook' do
444
420
  repository_dir = @repository_dir
445
- run_recipe do
421
+ expect_recipe {
446
422
  chef_mirror '' do
447
423
  chef_repo_path repository_dir
448
424
  versioned_cookbooks false
449
425
  action :download
450
426
  end
451
- end
452
- expect(chef_run).to have_updated('chef_mirror[]', :download)
427
+ }.to have_updated('chef_mirror[]', :download)
453
428
  expect(File.read(path_to('cookbooks/x/metadata.rb'))).to eq('name "x"; version "2.0.0"')
454
429
  end
455
430
  end
@@ -460,24 +435,22 @@ describe Chef::Resource::ChefMirror do
460
435
  end
461
436
 
462
437
  it 'chef_mirror :download downloads all versions of the cookbook' do
463
- run_recipe do
438
+ expect_recipe {
464
439
  chef_mirror '' do
465
440
  action :download
466
441
  end
467
- end
468
- expect(chef_run).to have_updated('chef_mirror[]', :download)
442
+ }.to have_updated('chef_mirror[]', :download)
469
443
  expect(File.read(path_to('cookbooks/x-1.0.0/metadata.rb'))).to eq('name "x"; version "1.0.0"')
470
444
  expect(File.read(path_to('cookbooks/x-2.0.0/metadata.rb'))).to eq('name "x"; version "2.0.0"')
471
445
  end
472
446
 
473
447
  it 'chef_mirror :download with versioned_cookbooks = false downloads the latest version of the cookbook' do
474
- run_recipe do
448
+ expect_recipe {
475
449
  chef_mirror '' do
476
450
  versioned_cookbooks false
477
451
  action :download
478
452
  end
479
- end
480
- expect(chef_run).to have_updated('chef_mirror[]', :download)
453
+ }.to have_updated('chef_mirror[]', :download)
481
454
  expect(File.read(path_to('cookbooks/x/metadata.rb'))).to eq('name "x"; version "2.0.0"')
482
455
  end
483
456
 
@@ -488,27 +461,25 @@ describe Chef::Resource::ChefMirror do
488
461
 
489
462
  it 'chef_mirror :download with chef_repo_path downloads all versions of the cookbook' do
490
463
  repository_dir = @repository_dir
491
- run_recipe do
464
+ expect_recipe {
492
465
  chef_mirror '' do
493
466
  chef_repo_path repository_dir
494
467
  action :download
495
468
  end
496
- end
497
- expect(chef_run).to have_updated('chef_mirror[]', :download)
469
+ }.to have_updated('chef_mirror[]', :download)
498
470
  expect(File.read(path_to('cookbooks/x-1.0.0/metadata.rb'))).to eq('name "x"; version "1.0.0"')
499
471
  expect(File.read(path_to('cookbooks/x-2.0.0/metadata.rb'))).to eq('name "x"; version "2.0.0"')
500
472
  end
501
473
 
502
474
  it 'chef_mirror :download with chef_repo_path and versioned_cookbooks = false downloads the latest version of the cookbook' do
503
475
  repository_dir = @repository_dir
504
- run_recipe do
476
+ expect_recipe {
505
477
  chef_mirror '' do
506
478
  chef_repo_path repository_dir
507
479
  versioned_cookbooks false
508
480
  action :download
509
481
  end
510
- end
511
- expect(chef_run).to have_updated('chef_mirror[]', :download)
482
+ }.to have_updated('chef_mirror[]', :download)
512
483
  expect(File.read(path_to('cookbooks/x/metadata.rb'))).to eq('name "x"; version "2.0.0"')
513
484
  end
514
485
  end