[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