summaryrefslogtreecommitdiff
path: root/test/units/module_utils/common/parameters/test_list_deprecations.py
blob: 0a17187c041c5527934815d14c40fb326e008209 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- coding: utf-8 -*-
# Copyright (c) 2019 Ansible Project
# 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
__metaclass__ = type

import pytest

from ansible.module_utils.common.parameters import list_deprecations


@pytest.fixture
def params():
    return {
        'name': 'bob',
        'dest': '/etc/hosts',
        'state': 'present',
        'value': 5,
    }


def test_list_deprecations():
    argument_spec = {
        'old': {'type': 'str', 'removed_in_version': '2.5'},
        'foo': {'type': 'dict', 'options': {'old': {'type': 'str', 'removed_in_version': 1.0}}},
        'bar': {'type': 'list', 'elements': 'dict', 'options': {'old': {'type': 'str', 'removed_in_version': '2.10'}}},
    }

    params = {
        'name': 'rod',
        'old': 'option',
        'foo': {'old': 'value'},
        'bar': [{'old': 'value'}, {}],
    }
    result = list_deprecations(argument_spec, params)
    assert len(result) == 3
    result.sort(key=lambda entry: entry['msg'])
    assert result[0]['msg'] == """Param 'bar["old"]' is deprecated. See the module docs for more information"""
    assert result[0]['version'] == '2.10'
    assert result[1]['msg'] == """Param 'foo["old"]' is deprecated. See the module docs for more information"""
    assert result[1]['version'] == 1.0
    assert result[2]['msg'] == "Param 'old' is deprecated. See the module docs for more information"
    assert result[2]['version'] == '2.5'