Project

General

Profile

Download (1.81 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'
require 'foreman/util'

class UtilTest < ActiveSupport::TestCase
include Foreman::Util

test "should support which" do
assert :which
end

test "should iterate over PATH env and find binary" do
ENV.stubs(:[]).with('PATH').returns(["/bin", "/usr/bin"])
FileTest.stubs(:file?).with('/bin/utiltest').returns(false)
FileTest.stubs(:executable?).with('/bin/utiltest').returns(false)
FileTest.stubs(:file?).with('/usr/bin/utiltest').returns(true)
FileTest.stubs(:executable?).with('/usr/bin/utiltest').returns(true)
assert_equal '/usr/bin/utiltest', which('utiltest')
end

test "should prefer binaries in user-supplied user PATH" do
ENV.stubs(:[]).with('PATH').returns(["/bin", "/usr/bin"])
FileTest.stubs(:file?).with('/custom/utiltest').returns(true)
FileTest.stubs(:executable?).with('/custom/utiltest').returns(true)
FileTest.stubs(:file?).with('/bin/utiltest').returns(false)
FileTest.stubs(:executable?).with('/bin/utiltest').returns(false)
FileTest.stubs(:file?).with('/usr/bin/utiltest').returns(true)
FileTest.stubs(:executable?).with('/usr/bin/utiltest').returns(true)
assert_equal '/custom/utiltest', which('utiltest', ['/custom'])
end

test "should return false when binary not found in PATH" do
ENV.stubs(:[]).with('PATH').returns(["/bin", "/usr/bin"])
FileTest.stubs(:file?).with('/bin/utiltest').returns(false)
FileTest.stubs(:executable?).with('/bin/utiltest').returns(false)
FileTest.stubs(:file?).with('/usr/bin/utiltest').returns(false)
FileTest.stubs(:executable?).with('/usr/bin/utiltest').returns(false)
assert_equal false, which('utiltest')
end

test 'secure_encryption_key should match AS default key length' do
assert_equal ActiveSupport::MessageEncryptor.key_len, secure_encryption_key.length
end
end
(7-7/7)