56 lines
1.5 KiB
Ruby
56 lines
1.5 KiB
Ruby
require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
|
|
|
|
class OutputEnvTest < Test::Unit::TestCase
|
|
|
|
context "The output from Whenever with environment variables set" do
|
|
setup do
|
|
@output = Whenever.cron \
|
|
<<-file
|
|
env :MYVAR, 'blah'
|
|
env 'MAILTO', "someone@example.com"
|
|
file
|
|
end
|
|
|
|
should "output MYVAR environment variable" do
|
|
assert_match "MYVAR=blah", @output
|
|
end
|
|
|
|
should "output MAILTO environment variable" do
|
|
assert_match "MAILTO=someone@example.com", @output
|
|
end
|
|
end
|
|
|
|
context "No PATH environment variable set" do
|
|
setup do
|
|
Whenever::JobList.any_instance.expects(:read_path).at_least_once.returns('/usr/local/bin')
|
|
@output = Whenever.cron ""
|
|
end
|
|
|
|
should "add a PATH variable based on the user's PATH" do
|
|
assert_match "PATH=/usr/local/bin", @output
|
|
end
|
|
end
|
|
|
|
context "A PATH environment variable set" do
|
|
setup do
|
|
Whenever::JobList.stubs(:read_path).returns('/usr/local/bin')
|
|
@output = Whenever.cron "env :PATH, '/my/path'"
|
|
end
|
|
|
|
should "use that path and the user's PATH" do
|
|
assert_match "PATH=/my/path", @output
|
|
assert_no_match /local/, @output
|
|
end
|
|
end
|
|
|
|
context "No PATH set and instructed not to automatically load the user's path" do
|
|
setup do
|
|
@output = Whenever.cron "set :set_path_automatically, false"
|
|
end
|
|
|
|
should "not have a PATH set" do
|
|
assert_no_match /PATH/, @output
|
|
end
|
|
end
|
|
|
|
end |