summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorAndrew Parker <andy@puppetlabs.com>2014-10-02 15:05:27 -0700
committerAndrew Parker <andy@puppetlabs.com>2014-10-02 15:05:27 -0700
commit6887e26a3ef48538777200826d824a7561951211 (patch)
treef279b14efd36fa5630d8602d2486caa0e39ff892 /spec
parent0a21e4e659ec0301b6bd669ea00fd32ea3bc5bef (diff)
downloadpuppet-6887e26a3ef48538777200826d824a7561951211.tar.gz
(maint) Remove duplicate file handling code
The tests had their own way of creating files and directories for testing. All of these different ways of creating files and directories already existed in PuppetSpec::Files. This unifies them.
Diffstat (limited to 'spec')
-rwxr-xr-xspec/integration/application/apply_spec.rb43
-rwxr-xr-xspec/lib/puppet_spec/files.rb1
2 files changed, 13 insertions, 31 deletions
diff --git a/spec/integration/application/apply_spec.rb b/spec/integration/application/apply_spec.rb
index 7342c212f..3ce1277d3 100755
--- a/spec/integration/application/apply_spec.rb
+++ b/spec/integration/application/apply_spec.rb
@@ -1,7 +1,5 @@
-#! /usr/bin/env ruby
require 'spec_helper'
require 'puppet_spec/files'
-require 'puppet/application/apply'
describe "apply" do
include PuppetSpec::Files
@@ -10,14 +8,6 @@ describe "apply" do
Puppet[:reports] = "none"
end
- def tmpfile_with_content(name, content)
- result = tmpfile(name)
- File.open(result, "w") do |f|
- f.puts [ content ].flatten * "\n"
- end
- result
- end
-
describe "when applying provided catalogs" do
it "can apply catalogs provided in a file in pson" do
file_to_create = tmpfile("pson_catalog")
@@ -25,9 +15,8 @@ describe "apply" do
resource = Puppet::Resource.new(:file, file_to_create, :parameters => {:content => "my stuff"})
catalog.add_resource resource
- manifest = tmpfile("manifest")
+ manifest = file_containing("manifest", catalog.to_pson)
- File.open(manifest, "w") { |f| f.print catalog.to_pson }
puppet = Puppet::Application[:apply]
puppet.options[:catalog] = manifest
@@ -39,7 +28,7 @@ describe "apply" do
end
it "applies a given file even when a directory environment is specified" do
- manifest = tmpfile_with_content("manifest.pp", "notice('it was applied')")
+ manifest = file_containing("manifest.pp", "notice('it was applied')")
special = Puppet::Node::Environment.create(:special, [])
Puppet.override(:current_environment => special) do
@@ -53,11 +42,9 @@ describe "apply" do
end
it "applies a given file even when an ENC is configured", :if => !Puppet.features.microsoft_windows? do
- manifest = tmpfile_with_content("manifest.pp", "notice('specific manifest applied')")
-
- site_manifest = tmpfile_with_content("site_manifest.pp", "notice('the site manifest was applied instead')")
-
- enc = tmpfile_with_content("enc_script", ["#!/bin/sh", "echo 'classes: []'"])
+ manifest = file_containing("manifest.pp", "notice('specific manifest applied')")
+ site_manifest = file_containing("site_manifest.pp", "notice('the site manifest was applied instead')")
+ enc = file_containing("enc_script", "#!/bin/sh\necho 'classes: []'")
File.chmod(0755, enc)
special = Puppet::Node::Environment.create(:special, [])
@@ -80,21 +67,15 @@ describe "apply" do
let(:args) { ['-e', execute, '--modulepath', modulepath] }
before(:each) do
- Puppet::FileSystem.mkpath("#{modulepath}/amod/manifests")
- File.open("#{modulepath}/amod/manifests/init.pp", "w") do |f|
- f.puts <<-EOF
- class amod{
- notice('amod class included')
+ dir_contained_in(modulepath, {
+ "amod" => {
+ "manifests" => {
+ "init.pp" => "class amod{ notice('amod class included') }"
+ }
}
- EOF
- end
- environmentdir = Dir.mktmpdir('environments')
- Puppet[:environmentpath] = environmentdir
- create_default_directory_environment
- end
+ })
- def create_default_directory_environment
- Puppet::FileSystem.mkpath("#{Puppet[:environmentpath]}/#{Puppet[:environment]}")
+ Puppet[:environmentpath] = dir_containing("environments", { Puppet[:environment] => {} })
end
def init_cli_args_and_apply_app(args, execute)
diff --git a/spec/lib/puppet_spec/files.rb b/spec/lib/puppet_spec/files.rb
index 312c4fc95..2d0d95275 100755
--- a/spec/lib/puppet_spec/files.rb
+++ b/spec/lib/puppet_spec/files.rb
@@ -57,6 +57,7 @@ module PuppetSpec::Files
dir_contained_in(tmpdir(name), contents_hash)
end
+ def dir_contained_in(dir, contents_hash) PuppetSpec::Files.dir_contained_in(dir, contents_hash) end
def self.dir_contained_in(dir, contents_hash)
contents_hash.each do |k,v|
if v.is_a?(Hash)