summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/module_defaults/test_action_group_metadata.yml
blob: e2555b1f29d31c85b7f47dbfcaea209cc276d3b4 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
- hosts: localhost
  gather_facts: no
  environment:
    ANSIBLE_NOCOLOR: True
    ANSIBLE_FORCE_COLOR: False
  tasks:

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.empty_metadata

    - command: ansible-playbook test_metadata_warning.yml
      register: result

    - assert:
        that: metadata_warning not in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: "Invalid metadata was found"

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.bad_metadata_format

    - command: ansible-playbook test_metadata_warning.yml
      register: result

    - assert:
        that: metadata_warning in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: >-
                Invalid metadata was found for action_group testns.testcoll.bad_metadata_format while loading module_defaults.
                The only expected key is metadata, but got keys: metadata, unexpected_key

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.multiple_metadata

    - command: ansible-playbook test_metadata_warning.yml
      register: result

    - assert:
        that: metadata_warning in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: >-
                Invalid metadata was found for action_group testns.testcoll.multiple_metadata while loading module_defaults.
                The group contains multiple metadata entries.

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.bad_metadata_options

    - command: 'ansible-playbook test_metadata_warning.yml'
      register: result

    - assert:
        that: metadata_warning in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: >-
                Invalid metadata was found for action_group testns.testcoll.bad_metadata_options while loading module_defaults.
                The metadata contains unexpected keys: unexpected_key

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.bad_metadata_type

    - command: ansible-playbook test_metadata_warning.yml
      register: result

    - assert:
        that: metadata_warning in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: >-
                Invalid metadata was found for action_group testns.testcoll.bad_metadata_type while loading module_defaults.
                The metadata is not a dictionary. Got ['testgroup']

    - template:
        src: test_metadata_warning.yml.j2
        dest: test_metadata_warning.yml
      vars:
        group_name: testns.testcoll.bad_metadata_option_type

    - command: ansible-playbook test_metadata_warning.yml
      register: result

    - assert:
        that: metadata_warning in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: >-
                Invalid metadata was found for action_group testns.testcoll.bad_metadata_option_type while loading module_defaults.
                The metadata contains unexpected key types: extend_group is {'name': 'testgroup'} (expected type list)

    - name: test disabling action_group metadata validation
      command: ansible-playbook test_metadata_warning.yml
      environment:
        ANSIBLE_VALIDATE_ACTION_GROUP_METADATA: False
      register: result

    - assert:
        that: metadata_warning not in warnings
      vars:
        warnings: "{{ result.stderr | regex_replace('\\n', ' ') }}"
        metadata_warning: "Invalid metadata was found for action_group"

    - file:
        path: test_metadata_warning.yml
        state: absent