mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 12:33:59 -07:00
fixes minor bugs in eos_eapi module (#21925)
* module will now check protocol running state before return * warns on config argument no longer being needed * lots of integration test cases updated * updates unit and integration test cases for state check fixes #21908
This commit is contained in:
parent
7c3957cc0c
commit
16a39639f5
6 changed files with 95 additions and 15 deletions
|
@ -21,13 +21,13 @@
|
|||
- name: Expect endpoint ports to be set
|
||||
assert:
|
||||
that:
|
||||
- http_config.stdout[0].httpServer.port == 81
|
||||
- http_config.stdout[0].httpServer.port == 80
|
||||
- http_config.stdout[0].httpsServer.port == 4443
|
||||
- http_config.stdout[0].localHttpServer.port == 8181
|
||||
|
||||
- name: Change endpoint ports again
|
||||
eos_eapi:
|
||||
http_port: 81
|
||||
http_port: 80
|
||||
https_port: 4443
|
||||
enable_local_http: yes
|
||||
local_http_port: 8181
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
that:
|
||||
- "eos_eapi_output.failed == true"
|
||||
- "eos_eapi_output.changed == false"
|
||||
- eos_eapi_output.msg == "vrf 'foobar' is not configured"
|
||||
- eos_eapi_output.msg == "vrf `foobar` is not configured on the system"
|
||||
|
||||
#----
|
||||
- name: Set VRF to default
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
- debug: msg="START CLI/RESET.YAML"
|
||||
|
||||
- name: Change endpoint ports back to default values
|
||||
eos_eapi:
|
||||
enable_local_http: yes
|
||||
eos_config:
|
||||
lines: default management api http-commands
|
||||
match: none
|
||||
provider: "{{ cli }}"
|
||||
register: eos_eapi_output
|
||||
connection: local
|
||||
|
@ -22,8 +23,9 @@
|
|||
- http_config.stdout[0].localHttpServer.port == 8080
|
||||
|
||||
- name: Change endpoint ports back to default values again
|
||||
eos_eapi:
|
||||
enable_local_http: yes
|
||||
eos_config:
|
||||
lines: default management api http-commands
|
||||
match: none
|
||||
provider: "{{ cli }}"
|
||||
register: eos_eapi_output
|
||||
connection: local
|
|
@ -39,12 +39,22 @@ class TestEosEapiModule(TestEosModule):
|
|||
self.mock_load_config = patch('ansible.modules.network.eos.eos_eapi.load_config')
|
||||
self.load_config = self.mock_load_config.start()
|
||||
|
||||
self.mock_verify_state = patch('ansible.modules.network.eos.eos_eapi.verify_state')
|
||||
self.verify_state = self.mock_verify_state.start()
|
||||
|
||||
self.command_fixtures = {}
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_commands.stop()
|
||||
self.mock_load_config.stop()
|
||||
|
||||
# hack for older version of mock
|
||||
# should be using patch.stopall() but CI is still failing
|
||||
try:
|
||||
self.mock_verify_state.stop()
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
def load_fixtures(self, commands=None):
|
||||
def run_commands(module, commands, **kwargs):
|
||||
output = list()
|
||||
|
@ -137,3 +147,14 @@ class TestEosEapiModule(TestEosModule):
|
|||
commands = ['management api http-commands', 'shutdown']
|
||||
self.start_configured(changed=True, commands=commands)
|
||||
|
||||
def test_eos_eapi_state_failed(self):
|
||||
self.mock_verify_state.stop()
|
||||
set_module_args(dict(state='stopped', timeout=1))
|
||||
result = self.start_configured(failed=True)
|
||||
'timeout expired before eapi running state changed' in result['msg']
|
||||
|
||||
def test_eos_eapi_state_failed(self):
|
||||
self.mock_verify_state.stop()
|
||||
set_module_args(dict(state='stopped', timeout=1))
|
||||
result = self.start_configured(failed=True)
|
||||
'timeout expired before eapi running state changed' in result['msg']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue