mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2025-10-26 13:56:09 -07:00 
			
		
		
		
	* move set_module_args to units.modules.utils * unit tests: reuse set_module_args * unit tests: mock exit/fail_json in module.utils.ModuleTestCase * unit tests: use module.utils.ModuleTestCase * unit tests: fix 'import shadowed by loop variable'
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			879 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			879 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import json
 | |
| 
 | |
| from ansible.compat.tests import unittest
 | |
| from ansible.compat.tests.mock import patch
 | |
| from ansible.module_utils import basic
 | |
| from ansible.module_utils._text import to_bytes
 | |
| 
 | |
| 
 | |
| def set_module_args(args):
 | |
|     args = json.dumps({'ANSIBLE_MODULE_ARGS': args})
 | |
|     basic._ANSIBLE_ARGS = to_bytes(args)
 | |
| 
 | |
| 
 | |
| class AnsibleExitJson(Exception):
 | |
|     pass
 | |
| 
 | |
| 
 | |
| class AnsibleFailJson(Exception):
 | |
|     pass
 | |
| 
 | |
| 
 | |
| def exit_json(*args, **kwargs):
 | |
|     if 'changed' not in kwargs:
 | |
|         kwargs['changed'] = False
 | |
|     raise AnsibleExitJson(kwargs)
 | |
| 
 | |
| 
 | |
| def fail_json(*args, **kwargs):
 | |
|     kwargs['failed'] = True
 | |
|     raise AnsibleFailJson(kwargs)
 | |
| 
 | |
| 
 | |
| class ModuleTestCase(unittest.TestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         self.mock_module = patch.multiple(basic.AnsibleModule, exit_json=exit_json, fail_json=fail_json)
 | |
|         self.mock_module.start()
 | |
|         self.addCleanup(self.mock_module.stop)
 |