Adding new tests for assemble role
This commit is contained in:
parent
0a83f743c1
commit
f03d6a67c8
9 changed files with 100 additions and 3 deletions
|
@ -107,7 +107,7 @@ def assemble_from_fragments(src_path, delimiter=None, compiled_regexp=None):
|
|||
continue
|
||||
fragment = "%s/%s" % (src_path, f)
|
||||
if delimit_me and delimiter:
|
||||
tmp.write(delimiter)
|
||||
tmp.write("%s\n" % delimiter)
|
||||
if os.path.isfile(fragment):
|
||||
tmp.write(file(fragment).read())
|
||||
delimit_me = True
|
||||
|
@ -171,7 +171,7 @@ def main():
|
|||
file_args = module.load_file_common_arguments(module.params)
|
||||
changed = module.set_file_attributes_if_different(file_args, changed)
|
||||
# Mission complete
|
||||
module.exit_json(src=src, dest=dest, md5sum=destmd5, changed=changed, msg="OK")
|
||||
module.exit_json(src=src, dest=dest, md5sum=pathmd5, changed=changed, msg="OK")
|
||||
|
||||
# import module snippets
|
||||
from ansible.module_utils.basic import *
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
- { role: test_file, tags: test_file }
|
||||
- { role: test_fetch, tags: test_fetch }
|
||||
- { role: test_synchronize, tags: test_synchronize }
|
||||
- { role: test_assemble, tags: test_assemble }
|
||||
- { role: test_subversion, tags: test_subversion }
|
||||
- { role: test_git, tags: test_git }
|
||||
- { role: test_hg, tags: test_hg }
|
||||
|
@ -34,4 +35,4 @@
|
|||
- { role: test_iterators, tags: test_iterators }
|
||||
- { role: test_command_shell, tags: test_command_shell }
|
||||
- { role: test_failed_when, tags: test_failed_when }
|
||||
- { role: test_script, tags: test_script }
|
||||
- { role: test_script, tags: test_script }
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this is fragment 1
|
|
@ -0,0 +1 @@
|
|||
this is fragment 2
|
|
@ -0,0 +1 @@
|
|||
this is fragment 3
|
|
@ -0,0 +1 @@
|
|||
this is fragment 4
|
|
@ -0,0 +1 @@
|
|||
this is fragment 5
|
20
tests_new/integration/roles/test_assemble/meta/main.yml
Normal file
20
tests_new/integration/roles/test_assemble/meta/main.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
# test code for the assemble module
|
||||
# (c) 2014, James Cammarata <jcammarata@ansible.com>
|
||||
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
dependencies:
|
||||
- prepare_tests
|
71
tests_new/integration/roles/test_assemble/tasks/main.yml
Normal file
71
tests_new/integration/roles/test_assemble/tasks/main.yml
Normal file
|
@ -0,0 +1,71 @@
|
|||
# test code for the assemble module
|
||||
# (c) 2014, James Cammarata <jcammarata@ansible.com>
|
||||
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
- name: create a new directory for file source
|
||||
file: dest="{{output_dir}}/src" state=directory
|
||||
register: result
|
||||
|
||||
- name: assert the directory was created
|
||||
assert:
|
||||
that:
|
||||
- "result.state == 'directory'"
|
||||
|
||||
- name: copy the files to a new directory
|
||||
copy: src="./" dest="{{output_dir}}/src"
|
||||
register: result
|
||||
|
||||
- name: test assemble with all fragments
|
||||
assemble: src="{{output_dir}}/src" dest="{{output_dir}}/assembled1"
|
||||
register: result
|
||||
|
||||
- name: assert the fragments were assembled
|
||||
assert:
|
||||
that:
|
||||
- "result.state == 'file'"
|
||||
- "result.md5sum == '96905702a2ece40de6bf3a94b5062513'"
|
||||
|
||||
- name: test assemble with fragments matching a regex
|
||||
assemble: src="{{output_dir}}/src" dest="{{output_dir}}/assembled2" regexp="^fragment[1-3]$"
|
||||
register: result
|
||||
|
||||
- name: assert the fragments were assembled with a regex
|
||||
assert:
|
||||
that:
|
||||
- "result.state == 'file'"
|
||||
- "result.md5sum == 'eb9e3486a9cd6943b5242e573b9b9349'"
|
||||
|
||||
- name: test assemble with a delimiter
|
||||
assemble: src="{{output_dir}}/src" dest="{{output_dir}}/assembled3" delimiter="#--- delimiter ---#"
|
||||
register: result
|
||||
|
||||
- name: assert the fragments were assembled with a delimiter
|
||||
assert:
|
||||
that:
|
||||
- "result.state == 'file'"
|
||||
- "result.md5sum == '4773eac67aba3f0be745876331c8a450'"
|
||||
|
||||
- name: test assemble with remote_src=False
|
||||
assemble: src="{{output_dir}}/src" dest="{{output_dir}}/assembled4" remote_src=False
|
||||
register: result
|
||||
|
||||
- name: assert the fragments were assembled without remote
|
||||
assert:
|
||||
that:
|
||||
- "result.state == 'file'"
|
||||
- "result.md5sum == '96905702a2ece40de6bf3a94b5062513'"
|
||||
|
Loading…
Reference in a new issue