diff --git a/tests_new/integration/non_destructive.yml b/tests_new/integration/non_destructive.yml index bd7c5ceafd..bc185f6522 100644 --- a/tests_new/integration/non_destructive.yml +++ b/tests_new/integration/non_destructive.yml @@ -2,4 +2,5 @@ gather_facts: True roles: - { role: test_copy, tags: test_copy } + - { role: test_template, tags: test_template } diff --git a/tests_new/integration/roles/test_template/files/foo.txt b/tests_new/integration/roles/test_template/files/foo.txt new file mode 100644 index 0000000000..3e96db9b3e --- /dev/null +++ b/tests_new/integration/roles/test_template/files/foo.txt @@ -0,0 +1 @@ +templated_var_loaded diff --git a/tests_new/integration/roles/test_template/meta/main.yml b/tests_new/integration/roles/test_template/meta/main.yml new file mode 100644 index 0000000000..1050c23ce3 --- /dev/null +++ b/tests_new/integration/roles/test_template/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: + - prepare_tests + diff --git a/tests_new/integration/roles/test_template/tasks/main.yml b/tests_new/integration/roles/test_template/tasks/main.yml new file mode 100644 index 0000000000..15dbaaaf71 --- /dev/null +++ b/tests_new/integration/roles/test_template/tasks/main.yml @@ -0,0 +1,50 @@ +# test code for the template module +# (c) 2014, Michael DeHaan + +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +- name: fill in a basic template + template: src=foo.j2 dest={{output_dir}}/foo.templated + register: template_result + +- assert: + that: + - "'changed' in template_result" + - "'dest' in template_result" + - "'group' in template_result" + - "'gid' in template_result" + - "'md5sum' in template_result" + - "'owner' in template_result" + - "'size' in template_result" + - "'src' in template_result" + - "'state' in template_result" + - "'uid' in template_result" + +- name: verify that the file was marked as changed + assert: { that: "template_result.changed == true" } + +- name: copy known good into place + copy: src=foo.txt dest={{output_dir}}/foo.txt + +- name: compare templated file to known good + command: diff {{output_dir}}/foo.templated {{output_dir}}/foo.txt + register: diff_result + +- name: verify templated file matches known good + assert: + that: + - 'diff_result.stdout == ""' + - "diff_result.rc == 0" diff --git a/tests_new/integration/roles/test_template/templates/foo.j2 b/tests_new/integration/roles/test_template/templates/foo.j2 new file mode 100644 index 0000000000..55aab8f1ea --- /dev/null +++ b/tests_new/integration/roles/test_template/templates/foo.j2 @@ -0,0 +1 @@ +{{ templated_var }} diff --git a/tests_new/integration/roles/test_template/vars/main.yml b/tests_new/integration/roles/test_template/vars/main.yml new file mode 100644 index 0000000000..1e8f64ccf4 --- /dev/null +++ b/tests_new/integration/roles/test_template/vars/main.yml @@ -0,0 +1 @@ +templated_var: templated_var_loaded