mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
MH DeprecateAttrsMixin (#3727)
* initial commit for deprecate_attrs * completed tests * added spaces * test now works when tehre is more than one deprecation * trying == instead of eq in jinja * new approach to testing * removed extraneous debug message
This commit is contained in:
parent
59c1859fb3
commit
887b3882dc
4 changed files with 163 additions and 0 deletions
64
tests/integration/targets/module_helper/library/msimpleda.py
Normal file
64
tests/integration/targets/module_helper/library/msimpleda.py
Normal file
|
@ -0,0 +1,64 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# (c) 2021, Alexei Znamensky <russoz@gmail.com>
|
||||
#
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import collections
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: msimpleda
|
||||
author: "Alexei Znamensky (@russoz)"
|
||||
short_description: Simple module for testing DeprecationAttrsMixin
|
||||
description:
|
||||
- Simple module test description.
|
||||
options:
|
||||
a:
|
||||
description: aaaa
|
||||
type: int
|
||||
'''
|
||||
|
||||
EXAMPLES = ""
|
||||
|
||||
RETURN = ""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
|
||||
from ansible_collections.community.general.plugins.module_utils.mh.mixins.deprecate_attrs import DeprecateAttrsMixin
|
||||
|
||||
|
||||
class MSimpleDA(DeprecateAttrsMixin, ModuleHelper):
|
||||
output_params = ('a',)
|
||||
module = dict(
|
||||
argument_spec=dict(
|
||||
a=dict(type='int'),
|
||||
),
|
||||
)
|
||||
|
||||
attr1 = "abc"
|
||||
attr2 = "def"
|
||||
|
||||
def __init_module__(self):
|
||||
self._deprecate_attr(
|
||||
"attr2",
|
||||
msg="Attribute attr2 is deprecated",
|
||||
version="9.9.9",
|
||||
collection_name="community.general",
|
||||
target=self.__class__,
|
||||
module=self.module,
|
||||
)
|
||||
|
||||
def __run__(self):
|
||||
if self.vars.a == 1:
|
||||
self.vars.attr1 = self.attr1
|
||||
if self.vars.a == 2:
|
||||
self.vars.attr2 = self.attr2
|
||||
|
||||
|
||||
def main():
|
||||
MSimpleDA.execute()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
|
@ -4,3 +4,4 @@
|
|||
- include_tasks: msimple.yml
|
||||
- include_tasks: mdepfail.yml
|
||||
- include_tasks: mstate.yml
|
||||
- include_tasks: msimpleda.yml
|
||||
|
|
37
tests/integration/targets/module_helper/tasks/msimpleda.yml
Normal file
37
tests/integration/targets/module_helper/tasks/msimpleda.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
# (c) 2021, Alexei Znamensky
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
- name: test msimpleda 1
|
||||
msimpleda:
|
||||
a: 1
|
||||
register: simple1
|
||||
|
||||
- name: assert simple1
|
||||
assert:
|
||||
that:
|
||||
- simple1.a == 1
|
||||
- simple1.attr1 == "abc"
|
||||
|
||||
- name: test msimpleda 2
|
||||
msimpleda:
|
||||
a: 2
|
||||
register: simple2
|
||||
|
||||
- set_fact:
|
||||
attr2_d:
|
||||
msg: Attribute attr2 is deprecated
|
||||
version: 9.9.9
|
||||
collection_name: community.general
|
||||
attr2_d_29:
|
||||
msg: Attribute attr2 is deprecated
|
||||
version: 9.9.9
|
||||
|
||||
- name: assert simple2
|
||||
assert:
|
||||
that:
|
||||
- simple2.a == 2
|
||||
- simple2.attr2 == "def"
|
||||
- '"deprecations" in simple2'
|
||||
- attr2_depr_dict in simple2.deprecations
|
||||
vars:
|
||||
attr2_depr_dict: "{{ ((ansible_version.major, ansible_version.minor) < (2, 10))|ternary(attr2_d_29, attr2_d) }}"
|
Loading…
Add table
Add a link
Reference in a new issue