added deploy_helper module tests
This commit is contained in:
parent
64458bc9a1
commit
550d229c7b
2 changed files with 151 additions and 0 deletions
2
test/integration/targets/deploy_helper/meta/main.yml
Normal file
2
test/integration/targets/deploy_helper/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
dependencies:
|
||||||
|
- prepare_tests
|
149
test/integration/targets/deploy_helper/tasks/main.yml
Normal file
149
test/integration/targets/deploy_helper/tasks/main.yml
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
---
|
||||||
|
- name: record the output directory
|
||||||
|
set_fact: deploy_helper_test_root={{output_dir}}/deploy_helper_test_root
|
||||||
|
|
||||||
|
- name: State=query with default parameters
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} state=query
|
||||||
|
- name: Assert State=query with default parameters
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'project_path' in deploy_helper"
|
||||||
|
- "deploy_helper.current_path == '{{ deploy_helper.project_path }}/current'"
|
||||||
|
- "deploy_helper.releases_path == '{{ deploy_helper.project_path }}/releases'"
|
||||||
|
- "deploy_helper.shared_path == '{{ deploy_helper.project_path }}/shared'"
|
||||||
|
- "deploy_helper.unfinished_filename == 'DEPLOY_UNFINISHED'"
|
||||||
|
- "'previous_release' in deploy_helper"
|
||||||
|
- "'previous_release_path' in deploy_helper"
|
||||||
|
- "'new_release' in deploy_helper"
|
||||||
|
- "'new_release_path' in deploy_helper"
|
||||||
|
- "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release }}'"
|
||||||
|
|
||||||
|
- name: State=query with relative overridden paths
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} current_path=CURRENT_PATH releases_path=RELEASES_PATH shared_path=SHARED_PATH state=query
|
||||||
|
- name: Assert State=query with relative overridden paths
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "deploy_helper.current_path == '{{ deploy_helper.project_path }}/CURRENT_PATH'"
|
||||||
|
- "deploy_helper.releases_path == '{{ deploy_helper.project_path }}/RELEASES_PATH'"
|
||||||
|
- "deploy_helper.shared_path == '{{ deploy_helper.project_path }}/SHARED_PATH'"
|
||||||
|
- "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release}}'"
|
||||||
|
|
||||||
|
- name: State=query with absolute overridden paths
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} current_path=/CURRENT_PATH releases_path=/RELEASES_PATH shared_path=/SHARED_PATH state=query
|
||||||
|
- name: Assert State=query with absolute overridden paths
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "deploy_helper.current_path == '/CURRENT_PATH'"
|
||||||
|
- "deploy_helper.releases_path == '/RELEASES_PATH'"
|
||||||
|
- "deploy_helper.shared_path == '/SHARED_PATH'"
|
||||||
|
- "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release}}'"
|
||||||
|
|
||||||
|
- name: State=query with overridden unfinished_filename
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} unfinished_filename=UNFINISHED_DEPLOY state=query
|
||||||
|
- name: Assert State=query with overridden unfinished_filename
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'UNFINISHED_DEPLOY' == deploy_helper.unfinished_filename"
|
||||||
|
|
||||||
|
# Remove the root folder just in case it exists
|
||||||
|
- file: path={{ deploy_helper_test_root }} state=absent
|
||||||
|
|
||||||
|
- name: State=present with default parameters
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} state=present
|
||||||
|
- stat: path={{ deploy_helper.releases_path }}
|
||||||
|
register: releases_path
|
||||||
|
- stat: path={{ deploy_helper.shared_path }}
|
||||||
|
register: shared_path
|
||||||
|
- name: Assert State=present with default parameters
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "releases_path.stat.exists"
|
||||||
|
- "shared_path.stat.exists"
|
||||||
|
|
||||||
|
# Setup older releases for tests
|
||||||
|
- file: path={{ deploy_helper.releases_path }}/{{ item }} state=directory
|
||||||
|
with_items: ['first','second','third', 'fourth', 'fifth', 'sixth', 'seventh']
|
||||||
|
# Setup the new release
|
||||||
|
- file: path={{ deploy_helper.new_release_path }} state=directory
|
||||||
|
# Add a buildfile, just like in a real deploy
|
||||||
|
- copy: content='' dest={{ deploy_helper.new_release_path }}/{{ deploy_helper.unfinished_filename }}
|
||||||
|
# Add a buildfile, to an older deploy
|
||||||
|
- copy: content='' dest={{ deploy_helper.releases_path }}/third/{{ deploy_helper.unfinished_filename }}
|
||||||
|
|
||||||
|
- name: State=finalize with default parameters
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=finalize
|
||||||
|
- stat: path={{ deploy_helper.current_path }}
|
||||||
|
register: current_path
|
||||||
|
- stat: path={{ deploy_helper.current_path }}/DEPLOY_UNFINISHED
|
||||||
|
register: current_path_unfinished_filename
|
||||||
|
- name: Assert State=finalize with default parameters
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "current_path.stat.islnk"
|
||||||
|
- "deploy_helper.new_release_path in current_path.stat.lnk_source"
|
||||||
|
- "not current_path_unfinished_filename.stat.exists"
|
||||||
|
- stat: path={{ deploy_helper.releases_path }}/third
|
||||||
|
register: third_release_path
|
||||||
|
- shell: "ls {{ deploy_helper.releases_path }} | wc -l"
|
||||||
|
register: releases_count
|
||||||
|
- name: Assert State=finalize with default parameters (clean=true checks)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "not third_release_path.stat.exists"
|
||||||
|
- "{{ releases_count.stdout|trim }} == 5"
|
||||||
|
- deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=query
|
||||||
|
- name: Assert State=finalize with default parameters (previous_release checks)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "{{ deploy_helper.new_release }} == {{ deploy_helper.previous_release }}"
|
||||||
|
|
||||||
|
- name: State=absent with default parameters
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} state=absent
|
||||||
|
- stat: path={{ deploy_helper_test_root }}
|
||||||
|
register: project_path
|
||||||
|
- name: Assert State=absent with default parameters
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "not project_path.stat.exists"
|
||||||
|
|
||||||
|
- debug: msg="Clearing all release data and facts ---------"
|
||||||
|
|
||||||
|
- name: State=present with shared_path set to False
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} state=present shared_path=''
|
||||||
|
- stat: path={{ deploy_helper.releases_path }}
|
||||||
|
register: releases_path
|
||||||
|
- stat: path={{ deploy_helper.shared_path }}
|
||||||
|
register: shared_path
|
||||||
|
- name: Assert State=present with shared_path set to False
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "releases_path.stat.exists"
|
||||||
|
- "not shared_path.stat.exists"
|
||||||
|
|
||||||
|
# Setup older releases for tests
|
||||||
|
- file: path={{ deploy_helper.releases_path }}/{{ item }} state=directory
|
||||||
|
with_items: ['first','second','third', 'fourth', 'fifth']
|
||||||
|
# Setup the new release
|
||||||
|
- file: path={{ deploy_helper.new_release_path }} state=directory
|
||||||
|
# Add a buildfile, just like in a real deploy
|
||||||
|
- copy: content='' dest={{ deploy_helper.new_release_path }}/{{ deploy_helper.unfinished_filename }}
|
||||||
|
# Add a buildfile, to an older deploy
|
||||||
|
- copy: content='' dest={{ deploy_helper.releases_path }}/third/{{ deploy_helper.unfinished_filename }}
|
||||||
|
|
||||||
|
- shell: "ls {{ deploy_helper_test_root }}/releases | wc -l"
|
||||||
|
register: before_releases_count
|
||||||
|
- name: State=clean with keep_releases=3
|
||||||
|
deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=clean keep_releases=3
|
||||||
|
- stat: path={{ deploy_helper.releases_path }}/third
|
||||||
|
register: third_release_path
|
||||||
|
- shell: "ls {{ deploy_helper.releases_path }} | wc -l"
|
||||||
|
register: releases_count
|
||||||
|
- name: Assert State=finalize with default parameters (clean=true checks)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "not third_release_path.stat.exists"
|
||||||
|
- "{{ before_releases_count.stdout|trim }} == 6"
|
||||||
|
- "{{ releases_count.stdout|trim }} == 3"
|
||||||
|
|
||||||
|
# Remove the root folder
|
||||||
|
- file: path={{ deploy_helper_test_root }} state=absent
|
Loading…
Reference in a new issue