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())
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())
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'])
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'])
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}, ])
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}, ])
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)
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)
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)