librarian 0.0.26 → 0.1.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.
Files changed (37) hide show
  1. data/.gitignore +0 -3
  2. data/.travis.yml +7 -0
  3. data/Gemfile +1 -1
  4. data/{MIT-LICENSE → LICENSE.txt} +2 -0
  5. data/README.md +13 -363
  6. data/lib/librarian/chef/version.rb +5 -0
  7. data/lib/librarian/cli.rb +1 -0
  8. data/lib/librarian/environment.rb +8 -2
  9. data/lib/librarian/mock/environment.rb +6 -1
  10. data/lib/librarian/mock/version.rb +5 -0
  11. data/lib/librarian/rspec/support/cli_macro.rb +120 -0
  12. data/lib/librarian/source/git.rb +1 -1
  13. data/lib/librarian/source/git/repository.rb +10 -2
  14. data/lib/librarian/version.rb +1 -1
  15. data/librarian.gemspec +15 -22
  16. data/spec/functional/cli_spec.rb +27 -0
  17. data/spec/functional/source/git/repository_spec.rb +2 -0
  18. metadata +69 -100
  19. data/lib/librarian/chef.rb +0 -1
  20. data/lib/librarian/chef/cli.rb +0 -47
  21. data/lib/librarian/chef/dsl.rb +0 -16
  22. data/lib/librarian/chef/environment.rb +0 -27
  23. data/lib/librarian/chef/extension.rb +0 -9
  24. data/lib/librarian/chef/integration/knife.rb +0 -46
  25. data/lib/librarian/chef/manifest_reader.rb +0 -59
  26. data/lib/librarian/chef/source.rb +0 -4
  27. data/lib/librarian/chef/source/git.rb +0 -25
  28. data/lib/librarian/chef/source/github.rb +0 -27
  29. data/lib/librarian/chef/source/local.rb +0 -69
  30. data/lib/librarian/chef/source/path.rb +0 -12
  31. data/lib/librarian/chef/source/site.rb +0 -442
  32. data/lib/librarian/chef/templates/Cheffile +0 -15
  33. data/spec/functional/chef/cli_spec.rb +0 -194
  34. data/spec/functional/chef/source/site_spec.rb +0 -266
  35. data/spec/integration/chef/source/git_spec.rb +0 -441
  36. data/spec/integration/chef/source/site_spec.rb +0 -217
  37. data/spec/support/cli_macro.rb +0 -114
@@ -1,441 +0,0 @@
1
- require 'pathname'
2
- require 'securerandom'
3
-
4
- require 'librarian'
5
- require 'librarian/helpers'
6
- require 'librarian/error'
7
- require 'librarian/action/resolve'
8
- require 'librarian/action/install'
9
- require 'librarian/action/update'
10
- require 'librarian/chef'
11
-
12
- module Librarian
13
- module Chef
14
- module Source
15
- describe Git do
16
-
17
- let(:project_path) do
18
- project_path = Pathname.new(__FILE__).expand_path
19
- project_path = project_path.dirname until project_path.join("Rakefile").exist?
20
- project_path
21
- end
22
- let(:tmp_path) { project_path.join("tmp/spec/integration/chef/source/git") }
23
- after { tmp_path.rmtree if tmp_path && tmp_path.exist? }
24
-
25
- let(:cookbooks_path) { tmp_path.join("cookbooks") }
26
-
27
- # depends on repo_path being defined in each context
28
- let(:env) { Environment.new(:project_path => repo_path) }
29
-
30
- context "a single dependency with a git source" do
31
-
32
- let(:sample_path) { tmp_path.join("sample") }
33
- let(:sample_metadata) do
34
- Helpers.strip_heredoc(<<-METADATA)
35
- version "0.6.5"
36
- METADATA
37
- end
38
-
39
- let(:first_sample_path) { cookbooks_path.join("first-sample") }
40
- let(:first_sample_metadata) do
41
- Helpers.strip_heredoc(<<-METADATA)
42
- version "3.2.1"
43
- METADATA
44
- end
45
-
46
- let(:second_sample_path) { cookbooks_path.join("second-sample") }
47
- let(:second_sample_metadata) do
48
- Helpers.strip_heredoc(<<-METADATA)
49
- version "4.3.2"
50
- METADATA
51
- end
52
-
53
- before do
54
- sample_path.rmtree if sample_path.exist?
55
- sample_path.mkpath
56
- sample_path.join("metadata.rb").open("wb") { |f| f.write(sample_metadata) }
57
- Dir.chdir(sample_path) do
58
- `git init`
59
- `git add metadata.rb`
60
- `git commit -m "Initial commit."`
61
- end
62
-
63
- cookbooks_path.rmtree if cookbooks_path.exist?
64
- cookbooks_path.mkpath
65
- first_sample_path.mkpath
66
- first_sample_path.join("metadata.rb").open("wb") { |f| f.write(first_sample_metadata) }
67
- second_sample_path.mkpath
68
- second_sample_path.join("metadata.rb").open("wb") { |f| f.write(second_sample_metadata) }
69
- Dir.chdir(cookbooks_path) do
70
- `git init`
71
- `git add .`
72
- `git commit -m "Initial commit."`
73
- end
74
- end
75
-
76
- context "resolving" do
77
- let(:repo_path) { tmp_path.join("repo/resolve") }
78
- before do
79
- repo_path.rmtree if repo_path.exist?
80
- repo_path.mkpath
81
- repo_path.join("cookbooks").mkpath
82
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
83
- #!/usr/bin/env ruby
84
- cookbook "sample", :git => #{sample_path.to_s.inspect}
85
- CHEFFILE
86
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
87
- end
88
-
89
- context "the resolve" do
90
- it "should not raise an exception" do
91
- expect { Action::Resolve.new(env).run }.to_not raise_error
92
- end
93
- end
94
-
95
- context "the results" do
96
- before { Action::Resolve.new(env).run }
97
-
98
- it "should create the lockfile" do
99
- repo_path.join("Cheffile.lock").should exist
100
- end
101
-
102
- it "should not attempt to install the sample cookbok" do
103
- repo_path.join("cookbooks/sample").should_not exist
104
- end
105
- end
106
- end
107
-
108
- context "installing" do
109
- let(:repo_path) { tmp_path.join("repo/install") }
110
- before do
111
- repo_path.rmtree if repo_path.exist?
112
- repo_path.mkpath
113
- repo_path.join("cookbooks").mkpath
114
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
115
- #!/usr/bin/env ruby
116
- cookbook "sample", :git => #{sample_path.to_s.inspect}
117
- CHEFFILE
118
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
119
-
120
- Action::Resolve.new(env).run
121
- end
122
-
123
- context "the install" do
124
- it "should not raise an exception" do
125
- expect { Action::Install.new(env).run }.to_not raise_error
126
- end
127
- end
128
-
129
- context "the results" do
130
- before { Action::Install.new(env).run }
131
-
132
- it "should create the lockfile" do
133
- repo_path.join("Cheffile.lock").should exist
134
- end
135
-
136
- it "should create the directory for the cookbook" do
137
- repo_path.join("cookbooks/sample").should exist
138
- end
139
-
140
- it "should copy the cookbook files into the cookbook directory" do
141
- repo_path.join("cookbooks/sample/metadata.rb").should exist
142
- end
143
- end
144
- end
145
-
146
- context "resolving and and separately installing" do
147
- let(:repo_path) { tmp_path.join("repo/resolve-install") }
148
- before do
149
- repo_path.rmtree if repo_path.exist?
150
- repo_path.mkpath
151
- repo_path.join("cookbooks").mkpath
152
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
153
- #!/usr/bin/env ruby
154
- cookbook "sample", :git => #{sample_path.to_s.inspect}
155
- CHEFFILE
156
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
157
-
158
- Action::Resolve.new(env).run
159
- repo_path.join("tmp").rmtree if repo_path.join("tmp").exist?
160
- end
161
-
162
- context "the install" do
163
- it "should not raise an exception" do
164
- expect { Action::Install.new(env).run }.to_not raise_error
165
- end
166
- end
167
-
168
- context "the results" do
169
- before { Action::Install.new(env).run }
170
-
171
- it "should create the directory for the cookbook" do
172
- repo_path.join("cookbooks/sample").should exist
173
- end
174
-
175
- it "should copy the cookbook files into the cookbook directory" do
176
- repo_path.join("cookbooks/sample/metadata.rb").should exist
177
- end
178
- end
179
- end
180
-
181
- context "resolving, changing, and resolving" do
182
- let(:repo_path) { tmp_path.join("repo/resolve-update") }
183
- before do
184
- repo_path.rmtree if repo_path.exist?
185
- repo_path.mkpath
186
- repo_path.join("cookbooks").mkpath
187
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
188
- git #{cookbooks_path.to_s.inspect}
189
- cookbook "first-sample"
190
- CHEFFILE
191
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
192
- Action::Resolve.new(env).run
193
-
194
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
195
- git #{cookbooks_path.to_s.inspect}
196
- cookbook "first-sample"
197
- cookbook "second-sample"
198
- CHEFFILE
199
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
200
- end
201
-
202
- context "the second resolve" do
203
- it "should not raise an exception" do
204
- expect { Action::Resolve.new(env).run }.to_not raise_error
205
- end
206
- end
207
- end
208
-
209
- end
210
-
211
- context "with a path" do
212
-
213
- let(:git_path) { tmp_path.join("big-git-repo") }
214
- let(:sample_path) { git_path.join("buttercup") }
215
- let(:sample_metadata) do
216
- Helpers.strip_heredoc(<<-METADATA)
217
- version "0.6.5"
218
- METADATA
219
- end
220
-
221
- before do
222
- git_path.rmtree if git_path.exist?
223
- git_path.mkpath
224
- sample_path.mkpath
225
- sample_path.join("metadata.rb").open("wb") { |f| f.write(sample_metadata) }
226
- Dir.chdir(git_path) do
227
- `git init`
228
- `git add .`
229
- `git commit -m "Initial commit."`
230
- end
231
- end
232
-
233
- context "if no path option is given" do
234
- let(:repo_path) { tmp_path.join("repo/resolve") }
235
- before do
236
- repo_path.rmtree if repo_path.exist?
237
- repo_path.mkpath
238
- repo_path.join("cookbooks").mkpath
239
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
240
- #!/usr/bin/env ruby
241
- cookbook "sample",
242
- :git => #{git_path.to_s.inspect}
243
- CHEFFILE
244
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
245
- end
246
-
247
- it "should not resolve" do
248
- expect{ Action::Resolve.new(env).run }.to raise_error
249
- end
250
- end
251
-
252
- context "if the path option is wrong" do
253
- let(:repo_path) { tmp_path.join("repo/resolve") }
254
- before do
255
- repo_path.rmtree if repo_path.exist?
256
- repo_path.mkpath
257
- repo_path.join("cookbooks").mkpath
258
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
259
- #!/usr/bin/env ruby
260
- cookbook "sample",
261
- :git => #{git_path.to_s.inspect},
262
- :path => "jelly"
263
- CHEFFILE
264
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
265
- end
266
-
267
- it "should not resolve" do
268
- expect{ Action::Resolve.new(env).run }.to raise_error
269
- end
270
- end
271
-
272
- context "if the path option is right" do
273
- let(:repo_path) { tmp_path.join("repo/resolve") }
274
- before do
275
- repo_path.rmtree if repo_path.exist?
276
- repo_path.mkpath
277
- repo_path.join("cookbooks").mkpath
278
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
279
- #!/usr/bin/env ruby
280
- cookbook "sample",
281
- :git => #{git_path.to_s.inspect},
282
- :path => "buttercup"
283
- CHEFFILE
284
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
285
- end
286
-
287
- context "the resolve" do
288
- it "should not raise an exception" do
289
- expect { Action::Resolve.new(env).run }.to_not raise_error
290
- end
291
- end
292
-
293
- context "the results" do
294
- before { Action::Resolve.new(env).run }
295
-
296
- it "should create the lockfile" do
297
- repo_path.join("Cheffile.lock").should exist
298
- end
299
- end
300
- end
301
-
302
- end
303
-
304
- context "missing a metadata" do
305
- let(:git_path) { tmp_path.join("big-git-repo") }
306
- let(:repo_path) { tmp_path.join("repo/resolve") }
307
- before do
308
- git_path.rmtree if git_path.exist?
309
- git_path.mkpath
310
- Dir.chdir(git_path) do
311
- `git init`
312
- `touch not-a-metadata`
313
- `git add .`
314
- `git commit -m "Initial commit."`
315
- end
316
- repo_path.rmtree if repo_path.exist?
317
- repo_path.mkpath
318
- repo_path.join("cookbooks").mkpath
319
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
320
- cookbook "sample",
321
- :git => #{git_path.to_s.inspect}
322
- CHEFFILE
323
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
324
- end
325
-
326
- context "the resolve" do
327
- it "should raise an exception" do
328
- expect { Action::Resolve.new(env).run }.to raise_error
329
- end
330
-
331
- it "should explain the problem" do
332
- expect { Action::Resolve.new(env).run }.
333
- to raise_error(Error, /no metadata file found/i)
334
- end
335
- end
336
-
337
- context "the results" do
338
- before { Action::Resolve.new(env).run rescue nil }
339
-
340
- it "should not create the lockfile" do
341
- repo_path.join("Cheffile.lock").should_not exist
342
- end
343
-
344
- it "should not create the directory for the cookbook" do
345
- repo_path.join("cookbooks/sample").should_not exist
346
- end
347
- end
348
- end
349
-
350
- context "when upstream updates" do
351
- let(:git_path) { tmp_path.join("upstream-updates-repo") }
352
- let(:repo_path) { tmp_path.join("repo/resolve-with-upstream-updates") }
353
-
354
- let(:sample_metadata) do
355
- Helpers.strip_heredoc(<<-METADATA)
356
- version "0.6.5"
357
- METADATA
358
- end
359
- before do
360
-
361
- # set up the git repo as normal, but let's also set up a release-stable branch
362
- # from which our Cheffile will only pull stable releases
363
- git_path.rmtree if git_path.exist?
364
- git_path.mkpath
365
- git_path.join("metadata.rb").open("w+b"){|f| f.write(sample_metadata)}
366
-
367
- Dir.chdir(git_path) do
368
- `git init`
369
- `git add metadata.rb`
370
- `git commit -m "Initial Commit."`
371
- `git checkout -b some-branch --quiet`
372
- `echo 'hi' > some-file`
373
- `git add some-file`
374
- `git commit -m 'Some File.'`
375
- `git checkout master --quiet`
376
- end
377
-
378
- # set up the chef repo as normal, except the Cheffile points to the release-stable
379
- # branch - we expect when the upstream copy of that branch is changed, then we can
380
- # fetch & merge those changes when we update
381
- repo_path.rmtree if repo_path.exist?
382
- repo_path.mkpath
383
- repo_path.join("cookbooks").mkpath
384
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
385
- cookbook "sample",
386
- :git => #{git_path.to_s.inspect},
387
- :ref => "some-branch"
388
- CHEFFILE
389
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
390
- Action::Resolve.new(env).run
391
-
392
- # change the upstream copy of that branch: we expect to be able to pull the latest
393
- # when we re-resolve
394
- Dir.chdir(git_path) do
395
- `git checkout some-branch --quiet`
396
- `echo 'ho' > some-other-file`
397
- `git add some-other-file`
398
- `git commit -m 'Some Other File.'`
399
- `git checkout master --quiet`
400
- end
401
- end
402
-
403
- let(:metadata_file) { repo_path.join("cookbooks/sample/metadata.rb") }
404
- let(:old_code_file) { repo_path.join("cookbooks/sample/some-file") }
405
- let(:new_code_file) { repo_path.join("cookbooks/sample/some-other-file") }
406
-
407
- context "when updating not a cookbook from that source" do
408
- before do
409
- Action::Update.new(env).run
410
- end
411
-
412
- it "should pull the tip from upstream" do
413
- Action::Install.new(env).run
414
-
415
- metadata_file.should exist #sanity
416
- old_code_file.should exist #sanity
417
-
418
- new_code_file.should_not exist # the assertion
419
- end
420
- end
421
-
422
- context "when updating a cookbook from that source" do
423
- before do
424
- Action::Update.new(env, :names => %w(sample)).run
425
- end
426
-
427
- it "should pull the tip from upstream" do
428
- Action::Install.new(env).run
429
-
430
- metadata_file.should exist #sanity
431
- old_code_file.should exist #sanity
432
-
433
- new_code_file.should exist # the assertion
434
- end
435
- end
436
- end
437
-
438
- end
439
- end
440
- end
441
- end
@@ -1,217 +0,0 @@
1
- require 'pathname'
2
- require 'json'
3
- require 'webmock'
4
-
5
- require 'librarian'
6
- require 'librarian/helpers'
7
- require 'librarian/action/resolve'
8
- require 'librarian/action/install'
9
- require 'librarian/chef'
10
-
11
- module Librarian
12
- module Chef
13
- module Source
14
- describe Site do
15
-
16
- include WebMock::API
17
-
18
- let(:project_path) do
19
- project_path = Pathname.new(__FILE__).expand_path
20
- project_path = project_path.dirname until project_path.join("Rakefile").exist?
21
- project_path
22
- end
23
- let(:tmp_path) { project_path.join("tmp/spec/integration/chef/source/site") }
24
- after { tmp_path.rmtree if tmp_path && tmp_path.exist? }
25
- let(:sample_path) { tmp_path.join("sample") }
26
- let(:sample_metadata) do
27
- Helpers.strip_heredoc(<<-METADATA)
28
- version "0.6.5"
29
- METADATA
30
- end
31
-
32
- let(:api_url) { "http://site.cookbooks.com" }
33
-
34
- let(:sample_index_data) do
35
- {
36
- "name" => "sample",
37
- "versions" => [
38
- "#{api_url}/cookbooks/sample/versions/0_6_5"
39
- ]
40
- }
41
- end
42
- let(:sample_0_6_5_data) do
43
- {
44
- "version" => "0.6.5",
45
- "file" => "#{api_url}/cookbooks/sample/versions/0_6_5/file.tar.gz"
46
- }
47
- end
48
- let(:sample_0_6_5_package) do
49
- s = StringIO.new
50
- z = Zlib::GzipWriter.new(s, Zlib::NO_COMPRESSION)
51
- t = Archive::Tar::Minitar::Output.new(z)
52
- t.tar.add_file_simple("sample/metadata.rb", :mode => 0700,
53
- :size => sample_metadata.bytesize){|io| io.write(sample_metadata)}
54
- t.close
55
- z.close unless z.closed?
56
- s.string
57
- end
58
-
59
- # depends on repo_path being defined in each context
60
- let(:env) { Environment.new(:project_path => repo_path) }
61
-
62
- before do
63
- stub_request(:get, "#{api_url}/cookbooks/sample").
64
- to_return(:body => JSON.dump(sample_index_data))
65
-
66
- stub_request(:get, "#{api_url}/cookbooks/sample/versions/0_6_5").
67
- to_return(:body => JSON.dump(sample_0_6_5_data))
68
-
69
- stub_request(:get, "#{api_url}/cookbooks/sample/versions/0_6_5/file.tar.gz").
70
- to_return(:body => sample_0_6_5_package)
71
- end
72
-
73
- after do
74
- WebMock.reset!
75
- end
76
-
77
- context "a single dependency with a site source" do
78
-
79
- context "resolving" do
80
- let(:repo_path) { tmp_path.join("repo/resolve") }
81
- before do
82
- repo_path.rmtree if repo_path.exist?
83
- repo_path.mkpath
84
- repo_path.join("cookbooks").mkpath
85
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
86
- #!/usr/bin/env ruby
87
- cookbook "sample", :site => #{api_url.inspect}
88
- CHEFFILE
89
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
90
- end
91
-
92
- context "the resolve" do
93
- it "should not raise an exception" do
94
- expect { Action::Resolve.new(env).run }.to_not raise_error
95
- end
96
- end
97
-
98
- context "the results" do
99
- before { Action::Resolve.new(env).run }
100
-
101
- it "should create the lockfile" do
102
- repo_path.join("Cheffile.lock").should exist
103
- end
104
-
105
- it "should not attempt to install the cookbok" do
106
- repo_path.join("cookbooks/sample").should_not exist
107
- end
108
- end
109
- end
110
-
111
- context "intalling" do
112
- let(:repo_path) { tmp_path.join("repo/install") }
113
- before do
114
- repo_path.rmtree if repo_path.exist?
115
- repo_path.mkpath
116
- repo_path.join("cookbooks").mkpath
117
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
118
- #!/usr/bin/env ruby
119
- cookbook "sample", :site => #{api_url.inspect}
120
- CHEFFILE
121
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
122
-
123
- Action::Resolve.new(env).run
124
- end
125
-
126
- context "the install" do
127
- it "should not raise an exception" do
128
- expect { Action::Install.new(env).run }.to_not raise_error
129
- end
130
- end
131
-
132
- context "the results" do
133
- before { Action::Install.new(env).run }
134
-
135
- it "should create the lockfile" do
136
- repo_path.join("Cheffile.lock").should exist
137
- end
138
-
139
- it "should create a directory for the cookbook" do
140
- repo_path.join("cookbooks/sample").should exist
141
- end
142
-
143
- it "should copy the cookbook files into the cookbook directory" do
144
- repo_path.join("cookbooks/sample/metadata.rb").should exist
145
- end
146
- end
147
- end
148
-
149
- context "resolving and separately installing" do
150
- let(:repo_path) { tmp_path.join("repo/resolve-install") }
151
- before do
152
- repo_path.rmtree if repo_path.exist?
153
- repo_path.mkpath
154
- repo_path.join("cookbooks").mkpath
155
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
156
- #!/usr/bin/env ruby
157
- cookbook "sample", :site => #{api_url.inspect}
158
- CHEFFILE
159
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
160
-
161
- Action::Resolve.new(env).run
162
- repo_path.join("tmp").rmtree if repo_path.join("tmp").exist?
163
- end
164
-
165
- context "the install" do
166
- it "should not raise an exception" do
167
- expect { Action::Install.new(env).run }.to_not raise_error
168
- end
169
- end
170
-
171
- context "the results" do
172
- before { Action::Install.new(env).run }
173
-
174
- it "should create a directory for the cookbook" do
175
- repo_path.join("cookbooks/sample").should exist
176
- end
177
-
178
- it "should copy the cookbook files into the cookbook directory" do
179
- repo_path.join("cookbooks/sample/metadata.rb").should exist
180
- end
181
- end
182
- end
183
-
184
- end
185
-
186
- context "when the repo path has a space" do
187
-
188
- let(:repo_path) { tmp_path.join("repo/with extra spaces/resolve") }
189
-
190
- before do
191
- repo_path.rmtree if repo_path.exist?
192
- repo_path.mkpath
193
- repo_path.join("cookbooks").mkpath
194
-
195
- cheffile = Helpers.strip_heredoc(<<-CHEFFILE)
196
- #!/usr/bin/env ruby
197
- cookbook "sample", :site => #{api_url.inspect}
198
- CHEFFILE
199
- repo_path.join("Cheffile").open("wb") { |f| f.write(cheffile) }
200
- end
201
-
202
- after do
203
- repo_path.rmtree
204
- end
205
-
206
- context "the resolution" do
207
- it "should not raise an exception" do
208
- expect { Action::Resolve.new(env).run }.to_not raise_error
209
- end
210
- end
211
-
212
- end
213
-
214
- end
215
- end
216
- end
217
- end