Merge branch 'devel' of git://github.com/willthames/ansible into devel
This commit is contained in:
commit
452668ce83
3 changed files with 67 additions and 2 deletions
|
@ -29,8 +29,6 @@ def get_config(p, section, key, env_var, default):
|
|||
try:
|
||||
return p.get(section, key)
|
||||
except:
|
||||
if env_var is not None:
|
||||
return os.environ.get(env_var, default)
|
||||
return default
|
||||
else:
|
||||
return default
|
||||
|
|
64
test/TestConstants.py
Normal file
64
test/TestConstants.py
Normal file
|
@ -0,0 +1,64 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import unittest
|
||||
|
||||
from ansible.constants import get_config
|
||||
import ConfigParser
|
||||
import random
|
||||
import string
|
||||
import os
|
||||
|
||||
|
||||
def random_string(length):
|
||||
return ''.join(random.choice(string.ascii_uppercase) for x in range(6))
|
||||
|
||||
p = ConfigParser.ConfigParser()
|
||||
p.read(os.path.join(os.path.dirname(__file__), 'ansible.cfg'))
|
||||
|
||||
class TestConstants(unittest.TestCase):
|
||||
|
||||
#####################################
|
||||
### get_config unit tests
|
||||
|
||||
|
||||
def test_configfile_and_env_both_set(self):
|
||||
r = random_string(6)
|
||||
env_var = 'ANSIBLE_TEST_%s' % r
|
||||
os.environ[env_var] = r
|
||||
|
||||
res = get_config(p, 'defaults', 'test_key', env_var, 'default')
|
||||
del os.environ[env_var]
|
||||
|
||||
assert res == r
|
||||
|
||||
|
||||
def test_configfile_set_env_not_set(self):
|
||||
r = random_string(6)
|
||||
env_var = 'ANSIBLE_TEST_%s' % r
|
||||
assert env_var not in os.environ
|
||||
|
||||
res = get_config(p, 'defaults', 'test_key', env_var, 'default')
|
||||
|
||||
print res
|
||||
assert res == 'test_value'
|
||||
|
||||
|
||||
def test_configfile_not_set_env_set(self):
|
||||
r = random_string(6)
|
||||
env_var = 'ANSIBLE_TEST_%s' % r
|
||||
os.environ[env_var] = r
|
||||
|
||||
res = get_config(p, 'defaults', 'doesnt_exist', env_var, 'default')
|
||||
del os.environ[env_var]
|
||||
|
||||
assert res == r
|
||||
|
||||
|
||||
def test_configfile_not_set_env_not_set(self):
|
||||
r = random_string(6)
|
||||
env_var = 'ANSIBLE_TEST_%s' % r
|
||||
assert env_var not in os.environ
|
||||
|
||||
res = get_config(p, 'defaults', 'doesnt_exist', env_var, 'default')
|
||||
|
||||
assert res == 'default'
|
3
test/ansible.cfg
Normal file
3
test/ansible.cfg
Normal file
|
@ -0,0 +1,3 @@
|
|||
[defaults]
|
||||
|
||||
test_key = test_value
|
Loading…
Reference in a new issue