puppet 3.5.0.rc3-x86-mingw32 → 3.5.1.rc1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (54) hide show
  1. data/lib/puppet.rb +11 -2
  2. data/lib/puppet/defaults.rb +3 -2
  3. data/lib/puppet/environments.rb +16 -0
  4. data/lib/puppet/network/http/api/v1.rb +6 -2
  5. data/lib/puppet/network/http/issues.rb +1 -0
  6. data/lib/puppet/node/environment.rb +9 -5
  7. data/lib/puppet/pops/parser/interpolation_support.rb +8 -4
  8. data/lib/puppet/provider/yumrepo/inifile.rb +60 -20
  9. data/lib/puppet/test/test_helper.rb +1 -8
  10. data/lib/puppet/type/yumrepo.rb +43 -9
  11. data/lib/puppet/util/inifile.rb +209 -86
  12. data/lib/puppet/version.rb +1 -1
  13. data/spec/integration/application/apply_spec.rb +3 -1
  14. data/spec/integration/directory_environments_spec.rb +2 -1
  15. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -1
  16. data/spec/integration/node/environment_spec.rb +2 -2
  17. data/spec/integration/resource/type_collection_spec.rb +1 -1
  18. data/spec/unit/application/apply_spec.rb +1 -1
  19. data/spec/unit/environments_spec.rb +35 -36
  20. data/spec/unit/face/module/install_spec.rb +1 -1
  21. data/spec/unit/face/module/list_spec.rb +3 -3
  22. data/spec/unit/face/module/uninstall_spec.rb +1 -1
  23. data/spec/unit/face/parser_spec.rb +1 -1
  24. data/spec/unit/indirector/node/active_record_spec.rb +1 -1
  25. data/spec/unit/indirector/node/ldap_spec.rb +4 -4
  26. data/spec/unit/indirector/node/plain_spec.rb +1 -1
  27. data/spec/unit/indirector/request_spec.rb +3 -3
  28. data/spec/unit/module_spec.rb +6 -6
  29. data/spec/unit/module_tool/applications/installer_spec.rb +1 -1
  30. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -1
  31. data/spec/unit/module_tool_spec.rb +1 -1
  32. data/spec/unit/network/http/api/v1_spec.rb +11 -1
  33. data/spec/unit/network/http/api/v2/environments_spec.rb +1 -1
  34. data/spec/unit/node/environment_spec.rb +1 -1
  35. data/spec/unit/node_spec.rb +1 -1
  36. data/spec/unit/parser/ast/collection_spec.rb +1 -1
  37. data/spec/unit/parser/compiler_spec.rb +1 -1
  38. data/spec/unit/parser/files_spec.rb +2 -2
  39. data/spec/unit/parser/functions_spec.rb +2 -2
  40. data/spec/unit/parser/parser_spec.rb +2 -2
  41. data/spec/unit/parser/resource_spec.rb +1 -1
  42. data/spec/unit/parser/scope_spec.rb +3 -3
  43. data/spec/unit/pops/parser/lexer2_spec.rb +11 -0
  44. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -1
  45. data/spec/unit/provider/yumrepo/inifile_spec.rb +71 -23
  46. data/spec/unit/rails/host_spec.rb +1 -1
  47. data/spec/unit/resource/type_collection_spec.rb +1 -1
  48. data/spec/unit/resource/type_spec.rb +1 -1
  49. data/spec/unit/resource_spec.rb +1 -1
  50. data/spec/unit/type/yumrepo_spec.rb +214 -49
  51. data/spec/unit/util/autoload_spec.rb +1 -1
  52. data/spec/unit/util/inifile_spec.rb +492 -0
  53. data/spec/unit/util/rdoc/parser_spec.rb +2 -2
  54. metadata +2971 -3057
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
  module Puppet
10
- PUPPETVERSION = '3.5.0-rc3'
10
+ PUPPETVERSION = '3.5.1-rc1'
11
11
 
12
12
  ##
13
13
  # version is a public API method intended to always provide a fast and
@@ -39,7 +39,7 @@ describe "apply" do
39
39
  EOF
40
40
  end
41
41
 
42
- special = Puppet::Node::Environment.create(:special, [], '')
42
+ special = Puppet::Node::Environment.create(:special, [])
43
43
  Puppet.override(:current_environment => special) do
44
44
  Puppet[:environment] = 'special'
45
45
  puppet = Puppet::Application[:apply]
@@ -64,6 +64,8 @@ describe "apply" do
64
64
  }
65
65
  EOF
66
66
  end
67
+ environmentdir = Dir.mktmpdir('environments')
68
+ Puppet[:environmentpath] = environmentdir
67
69
  create_default_directory_environment
68
70
  end
69
71
 
@@ -10,7 +10,8 @@ describe "directory environments" do
10
10
 
11
11
  context "with a single directory environmentpath" do
12
12
  before(:each) do
13
- environmentdir = Puppet[:environmentpath].split(File::PATH_SEPARATOR).first
13
+ environmentdir = PuppetSpec::Files.tmpdir('envpath')
14
+ Puppet[:environmentpath] = environmentdir
14
15
  FileUtils.mkdir_p(environmentdir + "/direnv/modules")
15
16
  end
16
17
 
@@ -28,7 +28,7 @@ describe Puppet::Indirector::FileContent::FileServer, " when finding files" do
28
28
 
29
29
  Puppet.settings[:modulepath] = "/no/such/file"
30
30
 
31
- env = Puppet::Node::Environment.create(:foo, [path], '')
31
+ env = Puppet::Node::Environment.create(:foo, [path])
32
32
 
33
33
  result = Puppet::FileServing::Content.indirection.search("plugins", :environment => env, :recurse => true)
34
34
 
@@ -29,7 +29,7 @@ describe Puppet::Node::Environment do
29
29
  mods["mod#{num}"] = a_module_in("mod#{num}", dir)
30
30
  end
31
31
 
32
- environment = Puppet::Node::Environment.create(:foo, dirs, '')
32
+ environment = Puppet::Node::Environment.create(:foo, dirs)
33
33
 
34
34
  environment.modules.each do |mod|
35
35
  mod.environment.should == environment
@@ -49,7 +49,7 @@ describe Puppet::Node::Environment do
49
49
  a_module_in("mod", dir)
50
50
  end
51
51
 
52
- environment = Puppet::Node::Environment.create(:foo, dirs, '')
52
+ environment = Puppet::Node::Environment.create(:foo, dirs)
53
53
 
54
54
  mods = environment.modules
55
55
  mods.length.should == 1
@@ -12,7 +12,7 @@ describe Puppet::Resource::TypeCollection do
12
12
  @dir = tmpfile("autoload_testing")
13
13
  FileUtils.mkdir_p @dir
14
14
 
15
- environment = Puppet::Node::Environment.create(:env, [@dir], '')
15
+ environment = Puppet::Node::Environment.create(:env, [@dir])
16
16
  @code = environment.known_resource_types
17
17
  end
18
18
 
@@ -201,7 +201,7 @@ describe Puppet::Application::Apply do
201
201
 
202
202
  around :each do |example|
203
203
  Puppet.override(:current_environment =>
204
- Puppet::Node::Environment.create(:production, [], '')) do
204
+ Puppet::Node::Environment.create(:production, [])) do
205
205
  example.run
206
206
  end
207
207
  end
@@ -10,42 +10,6 @@ describe Puppet::Environments do
10
10
  FS = Puppet::FileSystem
11
11
 
12
12
  describe "directories loader" do
13
-
14
- RSpec::Matchers.define :environment do |name|
15
- match do |env|
16
- env.name == name &&
17
- (!@manifest || @manifest == env.manifest) &&
18
- (!@modulepath || @modulepath == env.modulepath)
19
- end
20
-
21
- chain :with_manifest do |manifest|
22
- @manifest = manifest
23
- end
24
-
25
- chain :with_modulepath do |modulepath|
26
- @modulepath = modulepath
27
- end
28
-
29
- description do
30
- "environment #{expected}" +
31
- (@manifest ? " with manifest #{@manifest}" : "") +
32
- (@modulepath ? " with modulepath [#{@modulepath.join(', ')}]" : "")
33
- end
34
-
35
- failure_message_for_should do |env|
36
- "expected <#{env.name}: modulepath = [#{env.modulepath.join(', ')}], manifest = #{env.manifest}> to be #{description}"
37
- end
38
- end
39
-
40
- def loader_from(options, &block)
41
- FS.overlay(*options[:filesystem]) do
42
- yield Puppet::Environments::Directories.new(
43
- options[:directory],
44
- options[:modulepath] || []
45
- )
46
- end
47
- end
48
-
49
13
  it "lists environments" do
50
14
  global_path_1_location = File.expand_path("global_path_1")
51
15
  global_path_2_location = File.expand_path("global_path_2")
@@ -123,4 +87,39 @@ describe Puppet::Environments do
123
87
  end
124
88
  end
125
89
  end
90
+
91
+ RSpec::Matchers.define :environment do |name|
92
+ match do |env|
93
+ env.name == name &&
94
+ (!@manifest || @manifest == env.manifest) &&
95
+ (!@modulepath || @modulepath == env.modulepath)
96
+ end
97
+
98
+ chain :with_manifest do |manifest|
99
+ @manifest = manifest
100
+ end
101
+
102
+ chain :with_modulepath do |modulepath|
103
+ @modulepath = modulepath
104
+ end
105
+
106
+ description do
107
+ "environment #{expected}" +
108
+ (@manifest ? " with manifest #{@manifest}" : "") +
109
+ (@modulepath ? " with modulepath [#{@modulepath.join(', ')}]" : "")
110
+ end
111
+
112
+ failure_message_for_should do |env|
113
+ "expected <#{env.name}: modulepath = [#{env.modulepath.join(', ')}], manifest = #{env.manifest}> to be #{description}"
114
+ end
115
+ end
116
+
117
+ def loader_from(options, &block)
118
+ FS.overlay(*options[:filesystem]) do
119
+ yield Puppet::Environments::Directories.new(
120
+ options[:directory],
121
+ options[:modulepath] || []
122
+ )
123
+ end
124
+ end
126
125
  end
@@ -15,7 +15,7 @@ describe "puppet module install" do
15
15
  let(:fakedirpath) { make_absolute("/my/fake/path") }
16
16
  let(:options) { {} }
17
17
  let(:environment) do
18
- Puppet::Node::Environment.create(:env, [fakefirstpath, fakesecondpath], '')
18
+ Puppet::Node::Environment.create(:env, [fakefirstpath, fakesecondpath])
19
19
  end
20
20
  let(:expected_options) do
21
21
  {
@@ -39,7 +39,7 @@ describe "puppet module list" do
39
39
  barmod1 = PuppetSpec::Modules.create('bar', @modpath1)
40
40
  foomod2 = PuppetSpec::Modules.create('foo', @modpath2)
41
41
 
42
- usedenv = Puppet::Node::Environment.create(:useme, [@modpath1, @modpath2], '')
42
+ usedenv = Puppet::Node::Environment.create(:useme, [@modpath1, @modpath2])
43
43
 
44
44
  Puppet.override(:environments => Puppet::Environments::Static.new(usedenv)) do
45
45
  Puppet::Face[:module, :current].list(:environment => 'useme').should == {
@@ -56,7 +56,7 @@ describe "puppet module list" do
56
56
  foomod = PuppetSpec::Modules.create('foo', @modpath1)
57
57
  barmod = PuppetSpec::Modules.create('bar', @modpath1)
58
58
 
59
- usedenv = Puppet::Node::Environment.create(:useme, [@modpath1, @modpath2], '')
59
+ usedenv = Puppet::Node::Environment.create(:useme, [@modpath1, @modpath2])
60
60
 
61
61
  Puppet.override(:environments => Puppet::Environments::Static.new(usedenv)) do
62
62
  Puppet::Face[:module, :current].list(:environment => 'useme').should == {
@@ -87,7 +87,7 @@ describe "puppet module list" do
87
87
  it "prefers a given modulepath over the modulepath from the given environment" do
88
88
  foomod = PuppetSpec::Modules.create('foo', @modpath1)
89
89
  barmod = PuppetSpec::Modules.create('bar', @modpath2)
90
- env = Puppet::Node::Environment.create(:myenv, ['/tmp/notused'], '')
90
+ env = Puppet::Node::Environment.create(:myenv, ['/tmp/notused'])
91
91
  Puppet[:modulepath] = ""
92
92
 
93
93
  modules = Puppet::Face[:module, :current].list(:environment => 'myenv', :modulepath => "#{@modpath1}#{File::PATH_SEPARATOR}#{@modpath2}")
@@ -10,7 +10,7 @@ describe "puppet module uninstall" do
10
10
  end
11
11
  let(:modulepath) { File.expand_path('/module/path') }
12
12
  let(:environment) do
13
- Puppet::Node::Environment.create(:env, [modulepath], '')
13
+ Puppet::Node::Environment.create(:env, [modulepath])
14
14
  end
15
15
  let(:expected_options) do
16
16
  {
@@ -41,7 +41,7 @@ describe Puppet::Face[:parser, :current] do
41
41
  manifest = file_containing('test.pp', "{ invalid =>")
42
42
 
43
43
  env_loader = Puppet::Environments::Static.new(
44
- Puppet::Node::Environment.create(:special, [], '')
44
+ Puppet::Node::Environment.create(:special, [])
45
45
  )
46
46
  Puppet.override(:environments => env_loader) do
47
47
  Puppet[:environment] = 'special'
@@ -9,7 +9,7 @@ describe "Puppet::Node::ActiveRecord", :if => Puppet.features.rails? && Puppet.f
9
9
  let(:nodename) { "mynode" }
10
10
  let(:fact_values) { {:afact => "a value"} }
11
11
  let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
12
- let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
12
+ let(:environment) { Puppet::Node::Environment.create(:myenv, []) }
13
13
  let(:request) { Puppet::Indirector::Request.new(:node, :find, nodename, nil, :environment => environment) }
14
14
  let(:node_indirection) { Puppet::Node::ActiveRecord.new }
15
15
 
@@ -6,7 +6,7 @@ require 'puppet/indirector/node/ldap'
6
6
  describe Puppet::Node::Ldap do
7
7
  let(:nodename) { "mynode.domain.com" }
8
8
  let(:node_indirection) { Puppet::Node::Ldap.new }
9
- let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
9
+ let(:environment) { Puppet::Node::Environment.create(:myenv, []) }
10
10
  let(:fact_values) { {:afact => "a value", "one" => "boo"} }
11
11
  let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
12
12
 
@@ -176,7 +176,7 @@ describe Puppet::Node::Ldap do
176
176
  end
177
177
 
178
178
  it "should set the node's environment to the environment of the results" do
179
- result_env = Puppet::Node::Environment.create(:local_test, [], '')
179
+ result_env = Puppet::Node::Environment.create(:local_test, [])
180
180
  Puppet::Node::Facts.indirection.stubs(:find).with(nodename, :environment => result_env).returns(facts)
181
181
  @result[:environment] = "local_test"
182
182
 
@@ -259,7 +259,7 @@ describe Puppet::Node::Ldap do
259
259
  end
260
260
 
261
261
  it "should use the parent's environment if the node has none" do
262
- env = Puppet::Node::Environment.create(:parent, [], '')
262
+ env = Puppet::Node::Environment.create(:parent, [])
263
263
  @entry[:parent] = "parent"
264
264
 
265
265
  @parent[:environment] = "parent"
@@ -272,7 +272,7 @@ describe Puppet::Node::Ldap do
272
272
  end
273
273
 
274
274
  it "should prefer the node's environment to the parent's" do
275
- child_env = Puppet::Node::Environment.create(:child, [], '')
275
+ child_env = Puppet::Node::Environment.create(:child, [])
276
276
  @entry[:parent] = "parent"
277
277
  @entry[:environment] = "child"
278
278
 
@@ -7,7 +7,7 @@ describe Puppet::Node::Plain do
7
7
  let(:nodename) { "mynode" }
8
8
  let(:fact_values) { {:afact => "a value"} }
9
9
  let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
10
- let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
10
+ let(:environment) { Puppet::Node::Environment.create(:myenv, []) }
11
11
  let(:request) { Puppet::Indirector::Request.new(:node, :find, nodename, nil, :environment => environment) }
12
12
  let(:node_indirection) { Puppet::Node::Plain.new }
13
13
 
@@ -219,7 +219,7 @@ describe Puppet::Indirector::Request do
219
219
  end
220
220
 
221
221
  it "should set its environment to an environment instance when a string is specified as its environment" do
222
- env = Puppet::Node::Environment.create(:foo, [], '')
222
+ env = Puppet::Node::Environment.create(:foo, [])
223
223
 
224
224
  Puppet.override(:environments => Puppet::Environments::Static.new(env)) do
225
225
  Puppet::Indirector::Request.new(:myind, :find, "my key", nil, :environment => "foo").environment.should == env
@@ -227,13 +227,13 @@ describe Puppet::Indirector::Request do
227
227
  end
228
228
 
229
229
  it "should use any passed in environment instances as its environment" do
230
- env = Puppet::Node::Environment.create(:foo, [], '')
230
+ env = Puppet::Node::Environment.create(:foo, [])
231
231
 
232
232
  Puppet::Indirector::Request.new(:myind, :find, "my key", nil, :environment => env).environment.should equal(env)
233
233
  end
234
234
 
235
235
  it "should use the configured environment when none is provided" do
236
- configured = Puppet::Node::Environment.create(:foo, [], '')
236
+ configured = Puppet::Node::Environment.create(:foo, [])
237
237
 
238
238
  Puppet[:environment] = "foo"
239
239
 
@@ -138,7 +138,7 @@ describe Puppet::Module do
138
138
  end
139
139
 
140
140
  it "should list modules with unmet version requirement" do
141
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
141
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
142
142
 
143
143
  mod = PuppetSpec::Modules.create(
144
144
  'test_gte_req',
@@ -189,7 +189,7 @@ describe Puppet::Module do
189
189
  end
190
190
 
191
191
  it "should consider a dependency without a version requirement to be satisfied" do
192
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
192
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
193
193
 
194
194
  mod = PuppetSpec::Modules.create(
195
195
  'foobar',
@@ -215,7 +215,7 @@ describe Puppet::Module do
215
215
  end
216
216
 
217
217
  it "should consider a dependency without a semantic version to be unmet" do
218
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
218
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
219
219
 
220
220
  mod = PuppetSpec::Modules.create(
221
221
  'foobar',
@@ -259,7 +259,7 @@ describe Puppet::Module do
259
259
  end
260
260
 
261
261
  it "should only list unmet dependencies" do
262
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
262
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
263
263
 
264
264
  mod = PuppetSpec::Modules.create(
265
265
  name,
@@ -298,7 +298,7 @@ describe Puppet::Module do
298
298
  end
299
299
 
300
300
  it "should be empty when all dependencies are met" do
301
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
301
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
302
302
 
303
303
  mod = PuppetSpec::Modules.create(
304
304
  'mymod2',
@@ -662,7 +662,7 @@ describe Puppet::Module do
662
662
  end
663
663
 
664
664
  it "should know what other modules require it" do
665
- env = Puppet::Node::Environment.create(:testing, [@modpath], '')
665
+ env = Puppet::Node::Environment.create(:testing, [@modpath])
666
666
 
667
667
  dependable = PuppetSpec::Modules.create(
668
668
  'dependable',
@@ -18,7 +18,7 @@ describe Puppet::ModuleTool::Applications::Installer do
18
18
  FileUtils.touch(mod)
19
19
  mod
20
20
  end
21
- let(:env) { Puppet::Node::Environment.create(:env, [modpath1], '') }
21
+ let(:env) { Puppet::Node::Environment.create(:env, [modpath1]) }
22
22
  let(:options) do
23
23
  {
24
24
  :target_dir => modpath1,
@@ -23,7 +23,7 @@ describe Puppet::ModuleTool::Applications::Uninstaller do
23
23
  let(:working_dir) { tmpdir("uninstaller") }
24
24
  let(:modpath1) { create_temp_dir("modpath1") }
25
25
  let(:modpath2) { create_temp_dir("modpath2") }
26
- let(:env) { Puppet::Node::Environment.create(:env, [modpath1, modpath2], '') }
26
+ let(:env) { Puppet::Node::Environment.create(:env, [modpath1, modpath2]) }
27
27
  let(:options) { { :environment_instance => env } }
28
28
  let(:uninstaller) { Puppet::ModuleTool::Applications::Uninstaller.new("puppetlabs-foo", options) }
29
29
 
@@ -156,7 +156,7 @@ TREE
156
156
  describe '.set_option_defaults' do
157
157
  let(:options) { {} }
158
158
  let(:modulepath) { [File.expand_path('/env/module/path'), File.expand_path('/global/module/path')] }
159
- let(:environment) { Puppet::Node::Environment.create('current', modulepath, '') }
159
+ let(:environment) { Puppet::Node::Environment.create('current', modulepath) }
160
160
  around(:each) do |example|
161
161
  Puppet.override(:current_environment => environment) do
162
162
  example.run
@@ -282,7 +282,7 @@ describe Puppet::Network::HTTP::API::V1 do
282
282
  expect(response.code).to eq(not_authorized_code)
283
283
  end
284
284
 
285
- it "should return an error code if the indirection does not support remote requests" do
285
+ it "should return 'not found' if the indirection does not support remote requests" do
286
286
  request = a_request_that_heads(Puppet::IndirectorTesting.new("my data"))
287
287
 
288
288
  indirection.expects(:allow_remote_requests?).returns(false)
@@ -292,6 +292,16 @@ describe Puppet::Network::HTTP::API::V1 do
292
292
  expect(response.code).to eq(not_found_code)
293
293
  end
294
294
 
295
+ it "should return 'not found' if the environment does not exist" do
296
+ Puppet.override(:environments => Puppet::Environments::Static.new()) do
297
+ request = a_request_that_heads(Puppet::IndirectorTesting.new("my data"))
298
+
299
+ handler.call(request, response)
300
+
301
+ expect(response.code).to eq(not_found_code)
302
+ end
303
+ end
304
+
295
305
  it "should serialize a controller exception when an exception is thrown while finding the model instance" do
296
306
  request = a_request_that_finds(Puppet::IndirectorTesting.new("key"))
297
307
  handler.expects(:do_find).raises(ArgumentError, "The exception")
@@ -31,7 +31,7 @@ describe Puppet::Network::HTTP::API::V2::Environments do
31
31
  end
32
32
 
33
33
  it "the response conforms to the environments schema" do
34
- environment = Puppet::Node::Environment.create(:production, [], '')
34
+ environment = Puppet::Node::Environment.create(:production, [])
35
35
  handler = Puppet::Network::HTTP::API::V2::Environments.new(Puppet::Environments::Static.new(environment))
36
36
  response = Puppet::Network::HTTP::MemoryResponse.new
37
37
 
@@ -174,7 +174,7 @@ describe Puppet::Node::Environment do
174
174
 
175
175
  it "should return nil if asked for a module that does not exist in its path" do
176
176
  modpath = tmpdir('modpath')
177
- env = Puppet::Node::Environment.create(:testing, [modpath], '')
177
+ env = Puppet::Node::Environment.create(:testing, [modpath])
178
178
 
179
179
  env.module("one").should be_nil
180
180
  end
@@ -5,7 +5,7 @@ require 'matchers/json'
5
5
  describe Puppet::Node do
6
6
  include JSONMatchers
7
7
 
8
- let(:environment) { Puppet::Node::Environment.create(:bar, [], '') }
8
+ let(:environment) { Puppet::Node::Environment.create(:bar, []) }
9
9
  let(:env_loader) { Puppet::Environments::Static.new(environment) }
10
10
 
11
11
  it "should register its document type as Node" do