Fixes #30281 eos_banner integration test failure (#30283)

* Fixes #30281 Configure login prompt for eos_banner

* Fix unit test

* Fix pep8 issue
This commit is contained in:
Ganesh Nalawade 2017-09-14 13:56:32 +05:30 committed by GitHub
commit 3ff527b1d2
3 changed files with 29 additions and 7 deletions

View file

@ -92,8 +92,10 @@ session_name:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.eos import load_config, run_commands
from ansible.module_utils.eos import eos_argument_spec, check_args
from ansible.module_utils.six import string_types
from ansible.module_utils._text import to_text
def map_obj_to_commands(updates, module):
commands = list()
want, have = updates
@ -106,7 +108,7 @@ def map_obj_to_commands(updates, module):
commands.append({'cmd': 'no banner %s' % module.params['banner']})
elif state == 'present':
if isinstance(have['text'], str):
if isinstance(have['text'], string_types):
if want['text'] != have['text']:
commands.append('banner %s' % module.params['banner'])
commands.extend(want['text'].strip().split('\n'))
@ -122,7 +124,6 @@ def map_obj_to_commands(updates, module):
commands.append({'cmd': 'banner %s' % module.params['banner'],
'input': want['text'].strip('\n')})
return commands
def map_config_to_obj(module):
@ -139,7 +140,7 @@ def map_config_to_obj(module):
else:
banner_response_key = 'motd'
if isinstance(output[0], dict) and banner_response_key in output[0].keys():
obj['text'] = output[0][banner_response_key].strip('\n')
obj['text'] = output[0]
obj['state'] = 'present'
return obj