1---
2- name: run handlers
3  hosts: A
4  gather_facts: False
5  roles:
6  - { role: test_handlers_meta, tags: ['scenario1'] }
7
8- name: verify final handler was run
9  hosts: A
10  gather_facts: False
11  tasks:
12    - name: verify handler2 ran
13      assert:
14        that:
15            - "not hostvars[inventory_hostname]['handler1_called']"
16            - "'handler2_called' in hostvars[inventory_hostname]"
17      tags: ['scenario1']
18
19- name: verify listening handlers
20  hosts: A
21  gather_facts: False
22  tasks:
23    - name: notify some handlers
24      command: echo foo
25      notify:
26        - notify_listen
27  post_tasks:
28    - name: assert all defined handlers ran without error
29      assert:
30        that:
31        - "notify_listen_ran_1 is defined"
32        - "notify_listen_ran_2 is defined"
33  handlers:
34    - name: first listening handler has a name
35      set_fact:
36        notify_listen_ran_1: True
37      listen: notify_listen
38    # second listening handler does not
39    - set_fact:
40        notify_listen_ran_2: True
41      listen: notify_listen
42
43- name: test handlers
44  hosts: testgroup
45  gather_facts: False
46  roles:
47  - { role: test_handlers }
48