1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
require "spec_helper"
describe Dotenv::Environment do
subject { env("OPTION_A=1\nOPTION_B=2") }
describe "initialize" do
it "reads the file" do
expect(subject["OPTION_A"]).to eq("1")
expect(subject["OPTION_B"]).to eq("2")
end
it "fails if file does not exist" do
expect do
Dotenv::Environment.new(".does_not_exists", true)
end.to raise_error(Errno::ENOENT)
end
end
describe "apply" do
it "sets variables in ENV" do
subject.apply
expect(ENV["OPTION_A"]).to eq("1")
end
it "does not override defined variables" do
ENV["OPTION_A"] = "predefined"
subject.apply
expect(ENV["OPTION_A"]).to eq("predefined")
end
end
describe "apply!" do
it "sets variables in the ENV" do
subject.apply!
expect(ENV["OPTION_A"]).to eq("1")
end
it "overrides defined variables" do
ENV["OPTION_A"] = "predefined"
subject.apply!
expect(ENV["OPTION_A"]).to eq("1")
end
end
require "tempfile"
def env(text)
file = Tempfile.new("dotenv")
file.write text
file.close
env = Dotenv::Environment.new(file.path, true)
file.unlink
env
end
end
|