Adding new tests for assemble role

This commit is contained in:
James Cammarata 2014-02-24 11:21:41 -06:00
parent 0a83f743c1
commit f03d6a67c8
9 changed files with 100 additions and 3 deletions

View file

@ -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 *

View file

@ -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 }

View file

@ -0,0 +1 @@
this is fragment 1

View file

@ -0,0 +1 @@
this is fragment 2

View file

@ -0,0 +1 @@
this is fragment 3

View file

@ -0,0 +1 @@
this is fragment 4

View file

@ -0,0 +1 @@
this is fragment 5

View 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

View 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'"