[DRE-commits] [ruby-foreman] 02/04: Port tests to fakefs 0.4

Antonio Terceiro terceiro at moszumanska.debian.org
Wed Feb 4 17:29:52 UTC 2015


This is an automated email from the git hooks/post-receive script.

terceiro pushed a commit to branch patch-queue/master
in repository ruby-foreman.

commit 797e1fddaa9e1b4dc4ebc49b369927720b6f2032
Author: Antonio Terceiro <terceiro at softwarelivre.org>
Date:   Wed Feb 4 11:29:58 2015 -0200

    Port tests to fakefs 0.4
    
    Submitted upstream at https://github.com/ddollar/foreman/pull/522
---
 spec/foreman/cli_spec.rb      |  1 -
 spec/foreman/engine_spec.rb   | 12 ++++++------
 spec/foreman/procfile_spec.rb |  1 +
 spec/spec_helper.rb           | 14 ++++++++++++++
 4 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/spec/foreman/cli_spec.rb b/spec/foreman/cli_spec.rb
index d62c13c..4b22d74 100644
--- a/spec/foreman/cli_spec.rb
+++ b/spec/foreman/cli_spec.rb
@@ -66,7 +66,6 @@ describe "Foreman::CLI", :fakefs do
     end
 
     it "without a Procfile displays an error" do
-      FileUtils.rm_f "Procfile"
       expect(foreman("check")).to eq("ERROR: Procfile does not exist.\n")
     end
   end
diff --git a/spec/foreman/engine_spec.rb b/spec/foreman/engine_spec.rb
index 6f534c7..8ac3536 100644
--- a/spec/foreman/engine_spec.rb
+++ b/spec/foreman/engine_spec.rb
@@ -62,14 +62,14 @@ describe "Foreman::Engine", :fakefs do
 
   describe "environment" do
     it "should read env files" do
-      File.open("/tmp/env", "w") { |f| f.puts("FOO=baz") }
+      write_file("/tmp/env") { |f| f.puts("FOO=baz") }
       subject.load_env("/tmp/env")
       expect(subject.env["FOO"]).to eq("baz")
     end
 
     it "should read more than one if specified" do
-      File.open("/tmp/env1", "w") { |f| f.puts("FOO=bar") }
-      File.open("/tmp/env2", "w") { |f| f.puts("BAZ=qux") }
+      write_file("/tmp/env1") { |f| f.puts("FOO=bar") }
+      write_file("/tmp/env2") { |f| f.puts("BAZ=qux") }
       subject.load_env "/tmp/env1"
       subject.load_env "/tmp/env2"
       expect(subject.env["FOO"]).to eq("bar")
@@ -77,7 +77,7 @@ describe "Foreman::Engine", :fakefs do
     end
 
     it "should handle quoted values" do
-      File.open("/tmp/env", "w") do |f|
+      write_file("/tmp/env") do |f|
         f.puts 'FOO=bar'
         f.puts 'BAZ="qux"'
         f.puts "FRED='barney'"
@@ -91,7 +91,7 @@ describe "Foreman::Engine", :fakefs do
     end
 
     it "should handle multiline strings" do
-      File.open("/tmp/env", "w") do |f|
+      write_file("/tmp/env") do |f|
         f.puts 'FOO="bar\nbaz"'
       end
       subject.load_env "/tmp/env"
@@ -103,7 +103,7 @@ describe "Foreman::Engine", :fakefs do
     end
 
     it "should set port from .env if specified" do
-      File.open("/tmp/env", "w") { |f| f.puts("PORT=9000") }
+      write_file("/tmp/env") { |f| f.puts("PORT=9000") }
       subject.load_env "/tmp/env"
       expect(subject.send(:base_port)).to eq(9000)
     end
diff --git a/spec/foreman/procfile_spec.rb b/spec/foreman/procfile_spec.rb
index 0f2f420..51b0251 100644
--- a/spec/foreman/procfile_spec.rb
+++ b/spec/foreman/procfile_spec.rb
@@ -36,6 +36,7 @@ describe Foreman::Procfile, :fakefs do
   it "can write to a file" do
     subject["foo"] = "./foo"
     subject["bar"] = "./bar"
+    Dir.mkdir('/tmp')
     subject.save "/tmp/proc"
     expect(File.read("/tmp/proc")).to eq("foo: ./foo\nbar: ./bar\n")
   end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 3c510ed..2eaca35 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -82,6 +82,7 @@ def write_foreman_config(app)
 end
 
 def write_procfile(procfile="Procfile", alpha_env="")
+  FileUtils.mkdir_p(File.dirname(procfile))
   File.open(procfile, "w") do |file|
     file.puts "alpha: ./alpha" + " #{alpha_env}".rstrip
     file.puts "\n"
@@ -92,6 +93,13 @@ def write_procfile(procfile="Procfile", alpha_env="")
   File.expand_path(procfile)
 end
 
+def write_file(file)
+  FileUtils.mkdir_p(File.dirname(file))
+  File.open(file, 'w') do |f|
+    yield(f)
+  end
+end
+
 def write_env(env=".env", options={"FOO"=>"bar"})
   File.open(env, "w") do |file|
     options.each do |key, val|
@@ -163,4 +171,10 @@ RSpec.configure do |config|
   config.order = 'rand'
   config.include FakeFS::SpecHelpers, :fakefs
   config.mock_with :rr
+  config.before(:each) do
+    FileUtils.mkdir_p('/tmp')
+  end
+  config.after(:each) do
+    FileUtils.rm_rf('/tmp')
+  end
 end

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-foreman.git



More information about the Pkg-ruby-extras-commits mailing list