Modified assert module to take tests as an array

This commit is contained in:
James Cammarata 2014-02-19 14:05:03 -05:00
parent bee089d5e1
commit 54117ab28f
2 changed files with 20 additions and 16 deletions

View file

@ -46,11 +46,12 @@ class ActionModule(object):
if not 'that' in args:
raise errors.AnsibleError('conditional required in "that" string')
result = utils.check_conditional(args['that'], self.runner.basedir, inject, fail_on_undefined=True)
if not isinstance(args['that'], list):
args['that'] = [ args['that'] ]
if not result:
result = dict(failed=True, assertion=args['that'], evaluated_to=result)
else:
result = dict(msg='ok', assertion=args['that'], evaluated_to=result)
for that in args['that']:
result = utils.check_conditional(args['that'], self.runner.basedir, inject, fail_on_undefined=True)
if not result:
return ReturnData(conn=conn, result=dict(failed=True, assertion=that, evaluated_to=result))
return ReturnData(conn=conn, result=result)
return ReturnData(conn=conn, result=dict(msg='all assertions passed'))

View file

@ -22,16 +22,19 @@
copy: src=foo.txt dest={{output_file}}
register: copy_result
- assert: { that: "'changed' in copy_result" }
- assert: { that: "'dest' in copy_result" }
- assert: { that: "'group' in copy_result" }
- assert: { that: "'gid' in copy_result" }
- assert: { that: "'md5sum' in copy_result" }
- assert: { that: "'owner' in copy_result" }
- assert: { that: "'size' in copy_result" }
- assert: { that: "'src' in copy_result" }
- assert: { that: "'state' in copy_result" }
- assert: { that: "'uid' in copy_result" }
- name: assert basic copy worked
assert:
that:
- "'changed' in copy_result"
- "'dest' in copy_result"
- "'group' in copy_result"
- "'gid' in copy_result"
- "'md5sum' in copy_result"
- "'owner' in copy_result"
- "'size' in copy_result"
- "'src' in copy_result"
- "'state' in copy_result"
- "'uid' in copy_result"
- name: verify that the file was marked as changed