summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToshio Kuratomi <toshio@fedoraproject.org>2016-04-12 07:10:45 -0700
committerToshio Kuratomi <toshio@fedoraproject.org>2016-04-12 08:01:07 -0700
commit75546678d9b7b5e46193da18e4631c0b5ec00f0e (patch)
tree37cfd6bef0bcae14bfaf70fb92b123f8ef45c9ce
parent452034564c32be415f1d2289339bf7bbbf23d273 (diff)
downloadansible-75546678d9b7b5e46193da18e4631c0b5ec00f0e.tar.gz
Fix unittests
-rw-r--r--lib/ansible/module_utils/basic.py33
-rw-r--r--test/units/module_utils/basic/test__log_invocation.py24
-rw-r--r--test/units/module_utils/basic/test_exit_json.py45
-rw-r--r--test/units/module_utils/basic/test_log.py68
-rw-r--r--test/units/module_utils/basic/test_run_command.py14
-rw-r--r--test/units/module_utils/basic/test_safe_eval.py22
-rw-r--r--test/units/module_utils/test_basic.py199
7 files changed, 291 insertions, 114 deletions
diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py
index a06814a4c5..f3a5756daa 100644
--- a/lib/ansible/module_utils/basic.py
+++ b/lib/ansible/module_utils/basic.py
@@ -1435,9 +1435,13 @@ class AnsibleModule(object):
def _load_params(self):
''' read the input and set the params attribute. Sets the constants as well.'''
- buffer = sys.stdin.read()
+ # Avoid tracebacks when locale is non-utf8
+ if sys.version_info < (3,):
+ buffer = sys.stdin.read()
+ else:
+ buffer = sys.stdin.buffer.read()
try:
- params = json.loads(buffer)
+ params = json.loads(buffer.decode('utf-8'))
except ValueError:
# This helper used too early for fail_json to work.
print('{"msg": "Error: Module unable to decode valid JSON on stdin. Unable to figure out what parameters were passed", "failed": true}')
@@ -1451,31 +1455,6 @@ class AnsibleModule(object):
print('{"msg": "Error: Module unable to locate ANSIBLE_MODULE_ARGS and ANSIBLE_MODULE_CONSTANTS in json data from stdin. Unable to figure out what parameters were passed", "failed": true}')
sys.exit(1)
-# import select
-# buffer = ''
-# while True:
-# input_list = select.select([sys.stdin], [], [], 5.0)[0]
-# if sys.stdin not in input_list:
-# # This helper used too early for fail_json to work.
-# print('{"msg": "Error: Module unable to read arguments from stdin. Unable to figure out what parameters were passed", "failed": true}')
-# sys.exit(1)
-# buffer += sys.stdin.read()
-# if json.loads(buffer):
-#
-# for line in sys.stdin:
-# if line is None:
-# print('s')
-# data = sys.stdin.read()
-# if MODULE_COMPLEX_ARGS is None:
-# # This helper used too early for fail_json to work.
-# print('{"msg": "Error: ANSIBLE_MODULE_ARGS not found in environment. Unable to figure out what parameters were passed", "failed": true}')
-# sys.exit(1)
-#
-# params = json_dict_unicode_to_bytes(json.loads(data))
-# if params is None:
-# params = dict()
-# self.params = params
-
def _log_to_syslog(self, msg):
if HAS_SYSLOG:
module = 'ansible-%s' % os.path.basename(__file__)
diff --git a/test/units/module_utils/basic/test__log_invocation.py b/test/units/module_utils/basic/test__log_invocation.py
index 5e7524e360..34037f963c 100644
--- a/test/units/module_utils/basic/test__log_invocation.py
+++ b/test/units/module_utils/basic/test__log_invocation.py
@@ -22,18 +22,38 @@ __metaclass__ = type
import sys
import json
+from io import BytesIO, StringIO
+
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
from ansible.compat.tests import unittest
from ansible.compat.tests.mock import MagicMock
class TestModuleUtilsBasic(unittest.TestCase):
+ def setUp(self):
+ self.real_stdin = sys.stdin
+ args = json.dumps(
+ dict(
+ ANSIBLE_MODULE_ARGS=dict(
+ foo=False, bar=[1,2,3], bam="bam", baz=u'baz'),
+ ANSIBLE_MODULE_CONSTANTS=dict()
+ )
+ )
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
+ def tearDown(self):
+ sys.stdin = self.real_stdin
+
@unittest.skipIf(sys.version_info[0] >= 3, "Python 3 is not supported on targets (yet)")
def test_module_utils_basic__log_invocation(self):
from ansible.module_utils import basic
# test basic log invocation
- basic.MODULE_COMPLEX_ARGS = json.dumps(dict(foo=False, bar=[1,2,3], bam="bam", baz=u'baz'))
- basic.MODULE_CONSTANTS = '{}'
am = basic.AnsibleModule(
argument_spec=dict(
foo = dict(default=True, type='bool'),
diff --git a/test/units/module_utils/basic/test_exit_json.py b/test/units/module_utils/basic/test_exit_json.py
index ffb98e0b58..249dc380d9 100644
--- a/test/units/module_utils/basic/test_exit_json.py
+++ b/test/units/module_utils/basic/test_exit_json.py
@@ -23,8 +23,10 @@ __metaclass__ = type
import copy
import json
import sys
-from io import BytesIO
+from io import BytesIO, StringIO
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
from ansible.compat.tests import unittest
from ansible.module_utils import basic
@@ -37,9 +39,13 @@ empty_invocation = {u'module_args': {}}
class TestAnsibleModuleExitJson(unittest.TestCase):
def setUp(self):
- self.COMPLEX_ARGS = basic.MODULE_COMPLEX_ARGS
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ self.old_stdin = sys.stdin
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
self.old_stdout = sys.stdout
self.fake_stream = BytesIO()
@@ -48,8 +54,8 @@ class TestAnsibleModuleExitJson(unittest.TestCase):
self.module = basic.AnsibleModule(argument_spec=dict())
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.COMPLEX_ARGS
sys.stdout = self.old_stdout
+ sys.stdin = self.old_stdin
def test_exit_json_no_args_exits(self):
with self.assertRaises(SystemExit) as ctx:
@@ -118,19 +124,31 @@ class TestAnsibleModuleExitValuesRemoved(unittest.TestCase):
)
def setUp(self):
- self.COMPLEX_ARGS = basic.MODULE_COMPLEX_ARGS
+ self.old_stdin = sys.stdin
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.old_stdout = sys.stdout
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.COMPLEX_ARGS
+ sys.stdin = self.old_stdin
sys.stdout = self.old_stdout
def test_exit_json_removes_values(self):
self.maxDiff = None
for args, return_val, expected in self.dataset:
sys.stdout = BytesIO()
- basic.MODULE_COMPLEX_ARGS = json.dumps(args)
- basic.MODULE_CONSTANTS = '{}'
+ params = dict(ANSIBLE_MODULE_ARGS=args, ANSIBLE_MODULE_CONSTANTS={})
+ params = json.dumps(params)
+ if PY3:
+ sys.stdin = StringIO(params)
+ sys.stdin.buffer = BytesIO(to_bytes(params))
+ else:
+ sys.stdin = BytesIO(to_bytes(params))
module = basic.AnsibleModule(
argument_spec = dict(
username=dict(),
@@ -149,8 +167,13 @@ class TestAnsibleModuleExitValuesRemoved(unittest.TestCase):
del expected['changed']
expected['failed'] = True
sys.stdout = BytesIO()
- basic.MODULE_COMPLEX_ARGS = json.dumps(args)
- basic.MODULE_CONSTANTS = '{}'
+ params = dict(ANSIBLE_MODULE_ARGS=args, ANSIBLE_MODULE_CONSTANTS={})
+ params = json.dumps(params)
+ if PY3:
+ sys.stdin = StringIO(params)
+ sys.stdin.buffer = BytesIO(to_bytes(params))
+ else:
+ sys.stdin = BytesIO(to_bytes(params))
module = basic.AnsibleModule(
argument_spec = dict(
username=dict(),
diff --git a/test/units/module_utils/basic/test_log.py b/test/units/module_utils/basic/test_log.py
index 0a78ffb96d..0452ce7d90 100644
--- a/test/units/module_utils/basic/test_log.py
+++ b/test/units/module_utils/basic/test_log.py
@@ -21,7 +21,12 @@ from __future__ import (absolute_import, division)
__metaclass__ = type
import sys
+import json
import syslog
+from io import BytesIO, StringIO
+
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
from ansible.compat.tests import unittest
from ansible.compat.tests.mock import patch, MagicMock
@@ -41,10 +46,14 @@ except ImportError:
class TestAnsibleModuleSysLogSmokeTest(unittest.TestCase):
def setUp(self):
- self.complex_args_token = basic.MODULE_COMPLEX_ARGS
- self.constants_sentinel = basic.MODULE_CONSTANTS
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ self.real_stdin = sys.stdin
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -55,8 +64,7 @@ class TestAnsibleModuleSysLogSmokeTest(unittest.TestCase):
basic.has_journal = False
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.complex_args_token
- basic.MODULE_CONSTANTS = self.constants_sentinel
+ sys.stdin = self.real_stdin
basic.has_journal = self.has_journal
def test_smoketest_syslog(self):
@@ -75,17 +83,21 @@ class TestAnsibleModuleSysLogSmokeTest(unittest.TestCase):
class TestAnsibleModuleJournaldSmokeTest(unittest.TestCase):
def setUp(self):
- self.complex_args_token = basic.MODULE_COMPLEX_ARGS
- self.constants_sentinel = basic.MODULE_CONSTANTS
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ self.real_stdin = sys.stdin
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
+
self.am = basic.AnsibleModule(
argument_spec = dict(),
)
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.complex_args_token
- basic.MODULE_CONSTANTS = self.constants_sentinel
+ sys.stdin = self.real_stdin
@unittest.skipUnless(basic.has_journal, 'python systemd bindings not installed')
def test_smoketest_journal(self):
@@ -121,10 +133,15 @@ class TestAnsibleModuleLogSyslog(unittest.TestCase):
}
def setUp(self):
- self.complex_args_token = basic.MODULE_COMPLEX_ARGS
- self.constants_sentinel = basic.MODULE_CONSTANTS
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ self.real_stdin = sys.stdin
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
+
self.am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -134,8 +151,7 @@ class TestAnsibleModuleLogSyslog(unittest.TestCase):
basic.has_journal = False
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.complex_args_token
- basic.MODULE_CONSTANTS = self.constants_sentinel
+ sys.stdin = self.real_stdin
basic.has_journal = self.has_journal
@patch('syslog.syslog', autospec=True)
@@ -176,10 +192,14 @@ class TestAnsibleModuleLogJournal(unittest.TestCase):
}
def setUp(self):
- self.complex_args_token = basic.MODULE_COMPLEX_ARGS
- self.constants_sentinel = basic.MODULE_CONSTANTS
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ self.real_stdin = sys.stdin
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -198,8 +218,8 @@ class TestAnsibleModuleLogJournal(unittest.TestCase):
self._fake_out_reload(basic)
def tearDown(self):
- basic.MODULE_COMPLEX_ARGS = self.complex_args_token
- basic.MODULE_CONSTANTS = self.constants_sentinel
+ sys.stdin = self.real_stdin
+
basic.has_journal = self.has_journal
if self.module_patcher:
self.module_patcher.stop()
diff --git a/test/units/module_utils/basic/test_run_command.py b/test/units/module_utils/basic/test_run_command.py
index 8a17f7e55a..3c56365816 100644
--- a/test/units/module_utils/basic/test_run_command.py
+++ b/test/units/module_utils/basic/test_run_command.py
@@ -20,9 +20,13 @@ from __future__ import (absolute_import, division)
__metaclass__ = type
import errno
+import json
import sys
import time
-from io import BytesIO
+from io import BytesIO, StringIO
+
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
from ansible.compat.tests import unittest
from ansible.compat.tests.mock import call, MagicMock, Mock, patch, sentinel
@@ -61,8 +65,12 @@ class TestAnsibleModuleRunCommand(unittest.TestCase):
if path == '/inaccessible':
raise OSError(errno.EPERM, "Permission denied: '/inaccessible'")
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
self.module = AnsibleModule(argument_spec=dict())
self.module.fail_json = MagicMock(side_effect=SystemExit)
diff --git a/test/units/module_utils/basic/test_safe_eval.py b/test/units/module_utils/basic/test_safe_eval.py
index cb28e9063f..36e9e1e399 100644
--- a/test/units/module_utils/basic/test_safe_eval.py
+++ b/test/units/module_utils/basic/test_safe_eval.py
@@ -20,16 +20,32 @@
from __future__ import (absolute_import, division)
__metaclass__ = type
-from ansible.compat.tests import unittest
+import sys
+import json
+from io import BytesIO, StringIO
+from ansible.compat.tests import unittest
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
class TestAnsibleModuleExitJson(unittest.TestCase):
+ def setUp(self):
+ self.real_stdin = sys.stdin
+
+ def tearDown(self):
+ sys.stdin = self.real_stdin
+
def test_module_utils_basic_safe_eval(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec=dict(),
)
diff --git a/test/units/module_utils/test_basic.py b/test/units/module_utils/test_basic.py
index 39d9efe065..f8c96c6536 100644
--- a/test/units/module_utils/test_basic.py
+++ b/test/units/module_utils/test_basic.py
@@ -21,14 +21,19 @@ from __future__ import (absolute_import, division)
__metaclass__ = type
import errno
+import json
import os
import sys
+from io import BytesIO, StringIO
try:
import builtins
except ImportError:
import __builtin__ as builtins
+from ansible.compat.six import PY3
+from ansible.utils.unicode import to_bytes
+
from ansible.compat.tests import unittest
from ansible.compat.tests.mock import patch, MagicMock, mock_open, Mock, call
@@ -37,10 +42,10 @@ realimport = builtins.__import__
class TestModuleUtilsBasic(unittest.TestCase):
def setUp(self):
- pass
+ self.real_stdin = sys.stdin
def tearDown(self):
- pass
+ sys.stdin = self.real_stdin
def clear_modules(self, mods):
for mod in mods:
@@ -266,8 +271,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_creation(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec=dict(),
)
@@ -282,8 +292,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
req_to = (('bam', 'baz'),)
# should test ok
- basic.MODULE_COMPLEX_ARGS = '{"foo":"hello"}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={"foo": "hello"}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = arg_spec,
mutually_exclusive = mut_ex,
@@ -297,8 +312,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
# FIXME: add asserts here to verify the basic config
# fail, because a required param was not specified
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.assertRaises(
SystemExit,
basic.AnsibleModule,
@@ -312,8 +332,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
)
# fail because of mutually exclusive parameters
- basic.MODULE_COMPLEX_ARGS = '{"foo":"hello", "bar": "bad", "bam": "bad"}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={"foo":"hello", "bar": "bad", "bam": "bad"}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.assertRaises(
SystemExit,
basic.AnsibleModule,
@@ -327,8 +352,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
)
# fail because a param required due to another param was not specified
- basic.MODULE_COMPLEX_ARGS = '{"bam":"bad"}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={"bam": "bad"}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
self.assertRaises(
SystemExit,
basic.AnsibleModule,
@@ -344,8 +374,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_load_file_common_arguments(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -394,8 +429,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_selinux_mls_enabled(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -415,8 +455,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_selinux_initial_context(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -430,8 +475,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_selinux_enabled(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -463,8 +513,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_selinux_default_context(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -500,8 +555,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_selinux_context(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -543,8 +603,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_is_special_selinux_path(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{"SELINUX_SPECIAL_FS": "nfs,nfsd,foos"}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={"SELINUX_SPECIAL_FS": "nfs,nfsd,foos"}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -585,20 +650,30 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_to_filesystem_str(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
self.assertEqual(am._to_filesystem_str(u'foo'), b'foo')
self.assertEqual(am._to_filesystem_str(u'föö'), b'f\xc3\xb6\xc3\xb6')
-
+
def test_module_utils_basic_ansible_module_user_and_group(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -613,8 +688,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_find_mount_point(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -638,8 +718,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_set_context_if_different(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -684,8 +769,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_set_owner_if_different(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -724,7 +814,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_set_group_if_different(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -763,8 +859,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
def test_module_utils_basic_ansible_module_set_mode_if_different(self):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -852,8 +953,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)
@@ -1031,8 +1137,13 @@ class TestModuleUtilsBasic(unittest.TestCase):
from ansible.module_utils import basic
- basic.MODULE_COMPLEX_ARGS = '{}'
- basic.MODULE_CONSTANTS = '{}'
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
+ if PY3:
+ sys.stdin = StringIO(args)
+ sys.stdin.buffer = BytesIO(to_bytes(args))
+ else:
+ sys.stdin = BytesIO(to_bytes(args))
+
am = basic.AnsibleModule(
argument_spec = dict(),
)