summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/hash/test_inventory_hash.yml
blob: 1091b1350253ae933ede7d6fe9ecfb0b372ac8cc (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
---
- hosts: localhost
  gather_facts: no
  vars:
    host_hash_merged: {'host_var1': 'inventory 2', 'host_var2': 'inventory 1'}
    host_hash_replaced: {'host_var1': 'inventory 2'}
    group_hash_merged: {'group_var1': 'inventory 2', 'group_var2': 'inventory 1'}
    group_hash_replaced: {'group_var1': 'inventory 2'}
  tasks:

    - name: debug hash behaviour result
      debug:
        var: "{{ lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') }}"
        verbosity: 2

    - name: assert hash behaviour is merge or replace
      assert:
        that:
          - lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') in ('merge', 'replace')

    - name: debug test_inventory_host_hash
      debug:
        var: hostvars['host1']['test_inventory_host_hash']
        verbosity: 2

    - name: debug test_inventory_group_hash
      debug:
        var: test_inventory_group_hash
        verbosity: 2

    - assert:
        that:
          - hostvars['host1']['test_inventory_host_hash'] == host_hash_replaced
          - test_inventory_group_hash == group_hash_replaced
      when: "lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') == 'replace'"

    - assert:
        that:
          - hostvars['host1']['test_inventory_host_hash'] == host_hash_merged
          - test_inventory_group_hash == group_hash_merged
      when: "lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') == 'merge'"