def setUp(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS=dict(arg="42")))
        self.stdin_swap_ctx = swap_stdin_and_argv(stdin_data=args)
        self.stdin_swap_ctx.__enter__()

        # since we can't use context managers and "with" without overriding run(), call them directly
        self.stdout_swap_ctx = swap_stdout()
        self.fake_stream = self.stdout_swap_ctx.__enter__()

        basic._ANSIBLE_ARGS = None
    def setUp(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
        self.stdin_swap_ctx = swap_stdin_and_argv(stdin_data=args)
        self.stdin_swap_ctx.__enter__()

        # since we can't use context managers and "with" without overriding run(), call them directly
        self.stdout_swap_ctx = swap_stdout()
        self.fake_stream = self.stdout_swap_ctx.__enter__()

        reload(basic)
        self.module = basic.AnsibleModule(argument_spec=dict())
Example #3
0
    def setUp(self):
        args = json.dumps(
            dict(ANSIBLE_MODULE_ARGS={}, ANSIBLE_MODULE_CONSTANTS={}))
        self.stdin_swap_ctx = swap_stdin_and_argv(stdin_data=args)
        self.stdin_swap_ctx.__enter__()

        # since we can't use context managers and "with" without overriding run(), call them directly
        self.stdout_swap_ctx = swap_stdout()
        self.fake_stream = self.stdout_swap_ctx.__enter__()

        self.module = basic.AnsibleModule(argument_spec=dict())
Example #4
0
    def test_warn(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}))
        with swap_stdin_and_argv(stdin_data=args):
            with swap_stdout():

                ansible.module_utils.basic._ANSIBLE_ARGS = None
                am = ansible.module_utils.basic.AnsibleModule(
                    argument_spec = dict(),
                )
                am._name = 'unittest'

                am.warn('warning1')

                with self.assertRaises(SystemExit):
                    am.exit_json(warnings=['warning2'])
                self.assertEquals(json.loads(sys.stdout.getvalue())['warnings'], ['warning1', 'warning2'])
Example #5
0
    def test_warn(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}))
        with swap_stdin_and_argv(stdin_data=args):
            with swap_stdout():

                ansible.module_utils.basic._ANSIBLE_ARGS = None
                am = ansible.module_utils.basic.AnsibleModule(
                    argument_spec=dict(),
                )
                am._name = 'unittest'

                am.warn('warning1')

                with self.assertRaises(SystemExit):
                    am.exit_json(warnings=['warning2'])
                self.assertEquals(json.loads(sys.stdout.getvalue())['warnings'], ['warning1', 'warning2'])
Example #6
0
    def test_deprecate_without_list(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}))
        with swap_stdin_and_argv(stdin_data=args):
            with swap_stdout():

                ansible.module_utils.basic._ANSIBLE_ARGS = None
                am = ansible.module_utils.basic.AnsibleModule(
                    argument_spec = dict(),
                )
                am._name = 'unittest'

                with self.assertRaises(SystemExit):
                    am.exit_json(deprecations='Simple deprecation warning')
                output = json.loads(sys.stdout.getvalue())
                self.assertTrue('warnings' not in output or output['warnings'] == [])
                self.assertEquals(output['deprecations'], [
                    {u'msg': u'Simple deprecation warning', u'version': None},
                ])
Example #7
0
    def test_deprecate_without_list(self):
        args = json.dumps(dict(ANSIBLE_MODULE_ARGS={}))
        with swap_stdin_and_argv(stdin_data=args):
            with swap_stdout():

                ansible.module_utils.basic._ANSIBLE_ARGS = None
                am = ansible.module_utils.basic.AnsibleModule(
                    argument_spec=dict(),
                )
                am._name = 'unittest'

                with self.assertRaises(SystemExit):
                    am.exit_json(deprecations='Simple deprecation warning')
                output = json.loads(sys.stdout.getvalue())
                self.assertTrue('warnings' not in output or output['warnings'] == [])
                self.assertEquals(output['deprecations'], [
                    {u'msg': u'Simple deprecation warning', u'version': None},
                ])
Example #8
0
    def test_exit_json_removes_values(self):
        self.maxDiff = None
        for args, return_val, expected in self.dataset:
            params = dict(ANSIBLE_MODULE_ARGS=args)
            params = json.dumps(params)

            with swap_stdin_and_argv(stdin_data=params):
                with swap_stdout():
                    basic._ANSIBLE_ARGS = None
                    module = basic.AnsibleModule(
                        argument_spec=dict(
                            username=dict(),
                            password=dict(no_log=True),
                            token=dict(no_log=True),
                        ),
                    )
                    with self.assertRaises(SystemExit) as ctx:
                        self.assertEquals(module.exit_json(**return_val), expected)
                    self.assertEquals(json.loads(sys.stdout.getvalue()), expected)
    def test_exit_json_removes_values(self):
        self.maxDiff = None
        for args, return_val, expected in self.dataset:
            params = dict(ANSIBLE_MODULE_ARGS=args, ANSIBLE_MODULE_CONSTANTS={})
            params = json.dumps(params)

            with swap_stdin_and_argv(stdin_data=params):
                reload(basic)
                with swap_stdout():
                    module = basic.AnsibleModule(
                        argument_spec = dict(
                            username=dict(),
                            password=dict(no_log=True),
                            token=dict(no_log=True),
                            ),
                        )
                    with self.assertRaises(SystemExit) as ctx:
                        self.assertEquals(module.exit_json(**return_val), expected)
                    self.assertEquals(json.loads(sys.stdout.getvalue()), expected)
Example #10
0
 def test_fail_json_removes_values(self):
     self.maxDiff = None
     for args, return_val, expected in self.dataset:
         expected = copy.deepcopy(expected)
         expected['failed'] = True
         params = dict(ANSIBLE_MODULE_ARGS=args)
         params = json.dumps(params)
         with swap_stdin_and_argv(stdin_data=params):
             with swap_stdout():
                 basic._ANSIBLE_ARGS = None
                 module = basic.AnsibleModule(
                     argument_spec=dict(
                         username=dict(),
                         password=dict(no_log=True),
                         token=dict(no_log=True),
                     ),
                 )
                 with self.assertRaises(SystemExit) as ctx:
                     self.assertEquals(module.fail_json(**return_val), expected)
                 self.assertEquals(json.loads(sys.stdout.getvalue()), expected)
Example #11
0
 def test_fail_json_removes_values(self):
     self.maxDiff = None
     for args, return_val, expected in self.dataset:
         expected = copy.deepcopy(expected)
         del expected['changed']
         expected['failed'] = True
         params = dict(ANSIBLE_MODULE_ARGS=args,
                       ANSIBLE_MODULE_CONSTANTS={})
         params = json.dumps(params)
         with swap_stdin_and_argv(stdin_data=params):
             with swap_stdout():
                 module = basic.AnsibleModule(argument_spec=dict(
                     username=dict(),
                     password=dict(no_log=True),
                     token=dict(no_log=True),
                 ), )
                 with self.assertRaises(SystemExit) as ctx:
                     self.assertEquals(module.fail_json(**return_val),
                                       expected)
                 self.assertEquals(json.loads(sys.stdout.getvalue()),
                                   expected)