* Mark 'name' parameter as required. Closes https://github.com/ansible/ansible/issues/29785. * Add the `linode-python` dependency for unit tests. * Add unit test for linode name parameter. * Add note about where to find required arguments. Closes https://github.com/ansible/ansible/issues/44696.
This commit is contained in:
parent
30fd326953
commit
fbcdf8ba5b
5 changed files with 35 additions and 2 deletions
|
@ -30,6 +30,7 @@ options:
|
||||||
description:
|
description:
|
||||||
- Name to give the instance (alphanumeric, dashes, underscore).
|
- Name to give the instance (alphanumeric, dashes, underscore).
|
||||||
- To keep sanity on the Linode Web Console, name is prepended with C(LinodeID_).
|
- To keep sanity on the Linode Web Console, name is prepended with C(LinodeID_).
|
||||||
|
required: true
|
||||||
displaygroup:
|
displaygroup:
|
||||||
description:
|
description:
|
||||||
- Add the instance to a Display Group in Linode Manager.
|
- Add the instance to a Display Group in Linode Manager.
|
||||||
|
@ -148,6 +149,7 @@ author:
|
||||||
- Vincent Viallet (@zbal)
|
- Vincent Viallet (@zbal)
|
||||||
notes:
|
notes:
|
||||||
- C(LINODE_API_KEY) env variable can be used instead.
|
- C(LINODE_API_KEY) env variable can be used instead.
|
||||||
|
- Please review U(https://www.linode.com/api/linode) for determining the required parameters.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
|
@ -556,7 +558,7 @@ def main():
|
||||||
state=dict(type='str', default='present',
|
state=dict(type='str', default='present',
|
||||||
choices=['absent', 'active', 'deleted', 'present', 'restarted', 'started', 'stopped']),
|
choices=['absent', 'active', 'deleted', 'present', 'restarted', 'started', 'stopped']),
|
||||||
api_key=dict(type='str', no_log=True),
|
api_key=dict(type='str', no_log=True),
|
||||||
name=dict(type='str'),
|
name=dict(type='str', required=True),
|
||||||
alert_bwin_enabled=dict(type='bool'),
|
alert_bwin_enabled=dict(type='bool'),
|
||||||
alert_bwin_threshold=dict(type='int'),
|
alert_bwin_threshold=dict(type='int'),
|
||||||
alert_bwout_enabled=dict(type='bool'),
|
alert_bwout_enabled=dict(type='bool'),
|
||||||
|
|
|
@ -30,4 +30,7 @@ pyfmg
|
||||||
xmljson
|
xmljson
|
||||||
|
|
||||||
# requirement for winrm connection plugin tests
|
# requirement for winrm connection plugin tests
|
||||||
pexpect
|
pexpect
|
||||||
|
|
||||||
|
# requirement for the linode module
|
||||||
|
linode-python
|
||||||
|
|
0
test/units/modules/cloud/linode/__init__.py
Normal file
0
test/units/modules/cloud/linode/__init__.py
Normal file
13
test/units/modules/cloud/linode/conftest.py
Normal file
13
test/units/modules/cloud/linode/conftest.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def api_key(monkeypatch):
|
||||||
|
monkeypatch.setenv('LINODE_API_KEY', 'foobar')
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def auth(monkeypatch):
|
||||||
|
def patched_test_echo(dummy):
|
||||||
|
return []
|
||||||
|
monkeypatch.setattr('linode.api.Api.test_echo', patched_test_echo)
|
15
test/units/modules/cloud/linode/test_linode.py
Normal file
15
test/units/modules/cloud/linode/test_linode.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from ansible.modules.cloud.linode import linode
|
||||||
|
from units.modules.utils import set_module_args
|
||||||
|
|
||||||
|
if not linode.HAS_LINODE:
|
||||||
|
pytestmark = pytest.mark.skip('test_linode.py requires the `linode-python` module')
|
||||||
|
|
||||||
|
|
||||||
|
def test_name_is_a_required_parameter(api_key, auth):
|
||||||
|
with pytest.raises(SystemExit):
|
||||||
|
set_module_args({})
|
||||||
|
linode.main()
|
Loading…
Reference in a new issue