1--- 2- name: record the output directory 3 set_fact: deploy_helper_test_root={{output_dir}}/deploy_helper_test_root 4 5- name: State=query with default parameters 6 deploy_helper: path={{ deploy_helper_test_root }} state=query 7- name: Assert State=query with default parameters 8 assert: 9 that: 10 - "'project_path' in deploy_helper" 11 - "deploy_helper.current_path == '{{ deploy_helper.project_path }}/current'" 12 - "deploy_helper.releases_path == '{{ deploy_helper.project_path }}/releases'" 13 - "deploy_helper.shared_path == '{{ deploy_helper.project_path }}/shared'" 14 - "deploy_helper.unfinished_filename == 'DEPLOY_UNFINISHED'" 15 - "'previous_release' in deploy_helper" 16 - "'previous_release_path' in deploy_helper" 17 - "'new_release' in deploy_helper" 18 - "'new_release_path' in deploy_helper" 19 - "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release }}'" 20 21- name: State=query with relative overridden paths 22 deploy_helper: path={{ deploy_helper_test_root }} current_path=CURRENT_PATH releases_path=RELEASES_PATH shared_path=SHARED_PATH state=query 23- name: Assert State=query with relative overridden paths 24 assert: 25 that: 26 - "deploy_helper.current_path == '{{ deploy_helper.project_path }}/CURRENT_PATH'" 27 - "deploy_helper.releases_path == '{{ deploy_helper.project_path }}/RELEASES_PATH'" 28 - "deploy_helper.shared_path == '{{ deploy_helper.project_path }}/SHARED_PATH'" 29 - "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release}}'" 30 31- name: State=query with absolute overridden paths 32 deploy_helper: path={{ deploy_helper_test_root }} current_path=/CURRENT_PATH releases_path=/RELEASES_PATH shared_path=/SHARED_PATH state=query 33- name: Assert State=query with absolute overridden paths 34 assert: 35 that: 36 - "deploy_helper.current_path == '/CURRENT_PATH'" 37 - "deploy_helper.releases_path == '/RELEASES_PATH'" 38 - "deploy_helper.shared_path == '/SHARED_PATH'" 39 - "deploy_helper.new_release_path == '{{ deploy_helper.releases_path }}/{{ deploy_helper.new_release}}'" 40 41- name: State=query with overridden unfinished_filename 42 deploy_helper: path={{ deploy_helper_test_root }} unfinished_filename=UNFINISHED_DEPLOY state=query 43- name: Assert State=query with overridden unfinished_filename 44 assert: 45 that: 46 - "'UNFINISHED_DEPLOY' == deploy_helper.unfinished_filename" 47 48# Remove the root folder just in case it exists 49- file: path={{ deploy_helper_test_root }} state=absent 50 51- name: State=present with default parameters 52 deploy_helper: path={{ deploy_helper_test_root }} state=present 53- stat: path={{ deploy_helper.releases_path }} 54 register: releases_path 55- stat: path={{ deploy_helper.shared_path }} 56 register: shared_path 57- name: Assert State=present with default parameters 58 assert: 59 that: 60 - "releases_path.stat.exists" 61 - "shared_path.stat.exists" 62 63# Setup older releases for tests 64- file: path={{ deploy_helper.releases_path }}/{{ item }} state=directory 65 with_items: ['first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh'] 66# Setup the new release 67- file: path={{ deploy_helper.new_release_path }} state=directory 68# Add a buildfile, just like in a real deploy 69- copy: content='' dest={{ deploy_helper.new_release_path }}/{{ deploy_helper.unfinished_filename }} 70# Add a buildfile, to an older deploy 71- copy: content='' dest={{ deploy_helper.releases_path }}/third/{{ deploy_helper.unfinished_filename }} 72 73- name: State=finalize with default parameters 74 deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=finalize 75- stat: path={{ deploy_helper.current_path }} 76 register: current_path 77- stat: path={{ deploy_helper.current_path }}/DEPLOY_UNFINISHED 78 register: current_path_unfinished_filename 79- name: Assert State=finalize with default parameters 80 assert: 81 that: 82 - "current_path.stat.islnk" 83 - "deploy_helper.new_release_path in current_path.stat.lnk_source" 84 - "not current_path_unfinished_filename.stat.exists" 85- stat: path={{ deploy_helper.releases_path }}/third 86 register: third_release_path 87- shell: "ls {{ deploy_helper.releases_path }} | wc -l" 88 register: releases_count 89- name: Assert State=finalize with default parameters (clean=true checks) 90 assert: 91 that: 92 - "not third_release_path.stat.exists" 93 - "releases_count.stdout|trim == '6'" 94- deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=query 95- name: Assert State=finalize with default parameters (previous_release checks) 96 assert: 97 that: 98 - "deploy_helper.new_release == deploy_helper.previous_release" 99 100- name: State=absent with default parameters 101 deploy_helper: path={{ deploy_helper_test_root }} state=absent 102- stat: path={{ deploy_helper_test_root }} 103 register: project_path 104- name: Assert State=absent with default parameters 105 assert: 106 that: 107 - "not project_path.stat.exists" 108 109- debug: msg="Clearing all release data and facts ---------" 110 111- name: State=present with shared_path set to False 112 deploy_helper: path={{ deploy_helper_test_root }} state=present shared_path='' 113- stat: path={{ deploy_helper.releases_path }} 114 register: releases_path 115- stat: path={{ deploy_helper.shared_path }} 116 register: shared_path 117- name: Assert State=present with shared_path set to False 118 assert: 119 that: 120 - "releases_path.stat.exists" 121 - "not shared_path.stat.exists" 122 123# Setup older releases for tests 124- file: path={{ deploy_helper.releases_path }}/{{ item }} state=directory 125 with_items: ['first', 'second', 'third', 'fourth', 'fifth'] 126# Setup the new release 127- file: path={{ deploy_helper.new_release_path }} state=directory 128# Add a buildfile, just like in a real deploy 129- copy: content='' dest={{ deploy_helper.new_release_path }}/{{ deploy_helper.unfinished_filename }} 130# Add a buildfile, to an older deploy 131- copy: content='' dest={{ deploy_helper.releases_path }}/third/{{ deploy_helper.unfinished_filename }} 132 133- shell: "ls {{ deploy_helper_test_root }}/releases | wc -l" 134 register: before_releases_count 135- name: State=clean with keep_releases=3 136 deploy_helper: path={{ deploy_helper_test_root }} release={{ deploy_helper.new_release }} state=clean keep_releases=3 137- stat: path={{ deploy_helper.releases_path }}/third 138 register: third_release_path 139- shell: "ls {{ deploy_helper.releases_path }} | wc -l" 140 register: releases_count 141- name: Assert State=finalize with default parameters (clean=true checks) 142 assert: 143 that: 144 - "not third_release_path.stat.exists" 145 - "before_releases_count.stdout|trim == '6'" 146 - "releases_count.stdout|trim == '3'" 147 148# Remove the root folder 149- file: path={{ deploy_helper_test_root }} state=absent 150