summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/templating/tasks/main.yml
blob: 312e171de3722ea0b66d9610ceae49513ba77bf8 (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
- command: echo {% raw %}{{ foo }}{% endraw %}
  register: result

- assert:
    that:
      - result.stdout_lines|first == expected
  vars:
    expected: !unsafe '{{ foo }}'

- name: Assert that templating can convert JSON null, true, and false to Python
  assert:
    that:
      - foo.null is none
      - foo.true is true
      - foo.false is false
  vars:
    # Kind of hack to just send a JSON string through jinja, by templating out nothing
    foo: '{{ "" }}{"null": null, "true": true, "false": false}'

- name: Make sure that test with name that isn't a valid Ansible plugin name does not result in a crash (1/2)
  set_fact:
    foo: '{{ [{"failed": false}] | selectattr("failed", "==", true) }}'

- name: Make sure that test with name that isn't a valid Ansible plugin name does not result in a crash (2/2)
  template:
    src: invalid_test_name.j2
    dest: /tmp/foo
  ignore_errors: true
  register: result

- assert:
    that:
      - result is failed
      - >-
        "TemplateSyntaxError: Could not load \"asdf \": 'invalid plugin name: ansible.builtin.asdf '" in result.msg