1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/core/credential_tests.rb
Aaron Suggs e0b8606d85 [core] Fixed credential tests
Tests behavior when ENV['HOME'] is not a directory.
2011-05-13 18:14:47 -04:00

41 lines
1 KiB
Ruby

Shindo.tests do
before do
@old_home = ENV['HOME']
@old_rc = ENV['FOG_RC']
Fog.instance_variable_set('@credential_path', nil) # kill memoization
end
after do
ENV['HOME'] = @old_home
ENV['FOG_RC'] = @ld_rc
end
tests('credentials_path') do
returns('/rc/path', 'FOG_RC takes precedence over HOME') {
ENV['HOME'] = '/home/path'
ENV['FOG_RC'] = '/rc/path'
}
returns('/expanded/path', 'properly expands paths') {
ENV['FOG_RC'] = '/expanded/subdirectory/../path'
Fog.credentials_path
}
returns(File.join(ENV['HOME'], '.fog'), 'falls back to home path if FOG_RC not set') {
ENV.delete('FOG_RC')
Fog.credentials_path
}
returns(nil, 'ignores home path if it does not exist') {
ENV.delete('FOG_RC')
ENV['HOME'] = '/no/such/path'
Fog.credentials_path
}
returns(nil, 'returns nil when neither FOG_RC or HOME are set') {
ENV.delete('HOME')
ENV.delete('FOG_RC')
Fog.credentials_path
}
end
end