def test_run_single_command(self, *args): set_module_args(dict( commands=[ "tmsh show sys version" ], provider=dict( server='localhost', password='******', user='******' ) )) module = AnsibleModule( argument_spec=self.spec.argument_spec, supports_check_mode=self.spec.supports_check_mode ) m1 = V2Manager(module=module) m1.execute_on_device = Mock(return_value=['resp1', 'resp2']) mm = ModuleManager(module=module) mm._run_commands = Mock(return_value=[]) mm.get_manager = Mock(return_value=m1) results = mm.exec_module() assert results['changed'] is False assert mm._run_commands.call_count == 0 assert m1.execute_on_device.call_count == 2
def test_cli_command(self, *args): set_module_args( dict(commands=["show sys version"], provider=dict(server='localhost', password='******', user='******', transport='cli'))) module = AnsibleModule( argument_spec=self.spec.argument_spec, supports_check_mode=self.spec.supports_check_mode) m1 = V1Manager(module=module) m1.execute_on_device = Mock(return_value=['resp1', 'resp2', 'resp3']) mm = ModuleManager(module=module) mm._run_commands = Mock(return_value=[]) mm.get_manager = Mock(return_value=m1) results = mm.exec_module() assert results['changed'] is False # call count is two on CLI transport because we must first # determine if the remote CLI is in tmsh mode or advanced shell # (bash) mode. # # 1 call for the shell check # 1 call for the command in the "commands" list above # # Can we change this in the future by making the terminal plugin # find this out ahead of time? assert m1.execute_on_device.call_count == 3
def test_run_single_command(self, *args): set_module_args(dict( commands=[ "tmsh show sys version" ], server='localhost', user='******', password='******' )) module = AnsibleModule( argument_spec=self.spec.argument_spec, supports_check_mode=self.spec.supports_check_mode ) m1 = V2Manager(module=module) m1.execute_on_device = Mock(return_value=['resp1', 'resp2']) mm = ModuleManager(module=module) mm._run_commands = Mock(return_value=[]) mm.get_manager = Mock(return_value=m1) results = mm.exec_module() assert results['changed'] is False assert mm._run_commands.call_count == 0 assert m1.execute_on_device.call_count == 2
def test_run_single_modification_command(self, *args): set_module_args( dict(commands=["tmsh create ltm virtual foo"], server='localhost', user='******', password='******')) module = AnsibleModule( argument_spec=self.spec.argument_spec, supports_check_mode=self.spec.supports_check_mode) m1 = V2Manager(module=module) m1.execute_on_device = Mock(return_value=[True, False]) mm = ModuleManager(module=module) mm._run_commands = Mock(return_value=[]) mm.get_manager = Mock(return_value=m1) results = mm.exec_module() assert results['changed'] is True assert mm._run_commands.call_count == 0 assert m1.execute_on_device.call_count == 2
def test_cli_command(self, *args): set_module_args(dict( commands=[ "show sys version" ], server='localhost', user='******', password='******', transport='cli' )) module = AnsibleModule( argument_spec=self.spec.argument_spec, supports_check_mode=self.spec.supports_check_mode ) m1 = V1Manager(module=module) m1.execute_on_device = Mock(return_value=['resp1', 'resp2', 'resp3']) mm = ModuleManager(module=module) mm._run_commands = Mock(return_value=[]) mm.get_manager = Mock(return_value=m1) results = mm.exec_module() assert results['changed'] is False # call count is two on CLI transport because we must first # determine if the remote CLI is in tmsh mode or advanced shell # (bash) mode. # # 1 call for the shell check # 1 call for the command in the "commands" list above # # Can we change this in the future by making the terminal plugin # find this out ahead of time? assert m1.execute_on_device.call_count == 3