ansible/test/integration/targets/git/tasks/change-repo-url.yml
Matt Martz 4fe08441be Deprecate tests used as filters (#32361)
* Warn on tests used as filters

* Update docs, add aliases for tests that fit more gramatically with test syntax

* Fix rst formatting

* Add successful filter, alias of success

* Remove renamed_deprecation, it was overkill

* Make directory alias for is_dir

* Update tests to use proper jinja test syntax

* Update additional documentation, living outside of YAML files, to reflect proper jinja test syntax

* Add conversion script, porting guide updates, and changelog updates

* Update newly added uses of tests as filters

* No underscore variable

* Convert recent tests as filter changes to win_stat

* Fix some changes related to rebasing a few integration tests

* Make tests_as_filters_warning explicitly accept the name of the test, instead of inferring the name

* Add test for tests_as_filters_warning

* Update tests as filters in newly added/modified tests

* Address recent changes to several integration tests

* Address recent changes in cs_vpc
2017-11-27 17:58:08 -05:00

132 lines
3.5 KiB
YAML

# test change of repo url
# see https://github.com/ansible/ansible-modules-core/pull/721
- name: CHANGE-REPO-URL | clear checkout_dir
file:
state: absent
path: "{{ checkout_dir }}"
- name: CHANGE-REPO-URL | Clone example git repo
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}"
- name: CHANGE-REPO-URL | Clone repo with changed url to the same place
git:
repo: "{{ repo_update_url_2 }}"
dest: "{{ checkout_dir }}"
register: clone2
- assert:
that: "clone2 is successful"
- name: CHANGE-REPO-URL | check url updated
shell: git remote show origin | grep Fetch
register: remote_url
args:
chdir: "{{ checkout_dir }}"
environment:
LC_ALL: C
- assert:
that:
- "'git-test-new' in remote_url.stdout"
- "'git-test-old' not in remote_url.stdout"
- name: CHANGE-REPO-URL | check for new content in git-test-new
stat: path={{ checkout_dir }}/newfilename
register: repo_content
- name: CHANGE-REPO-URL | assert presence of new file in repo (i.e. working copy updated)
assert:
that: "repo_content.stat.exists"
# Make sure 'changed' result is accurate in check mode.
# See https://github.com/ansible/ansible-modules-core/pull/4243
- name: CHANGE-REPO-URL | clear checkout_dir
file:
state: absent
path: "{{ checkout_dir }}"
- name: CHANGE-REPO-URL | clone repo
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}"
- name: CHANGE-REPO-URL | clone repo with same url to same destination
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}"
register: checkout_same_url
- name: CHANGE-REPO-URL | check repo not changed
assert:
that:
- checkout_same_url is not changed
- name: CHANGE-REPO-URL | clone repo with new url to same destination
git:
repo: "{{ repo_update_url_2 }}"
dest: "{{ checkout_dir }}"
register: checkout_new_url
- name: CHANGE-REPO-URL | check repo changed
assert:
that:
- checkout_new_url is changed
- name: CHANGE-REPO-URL | clone repo with new url in check mode
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}"
register: checkout_new_url_check_mode
check_mode: True
- name: CHANGE-REPO-URL | check repo reported changed in check mode
assert:
that:
- checkout_new_url_check_mode is changed
when: git_version.stdout is version(git_version_supporting_ls_remote, '>=')
- name: CHANGE-REPO-URL | clone repo with new url after check mode
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}"
register: checkout_new_url_after_check_mode
- name: CHANGE-REPO-URL | check repo still changed after check mode
assert:
that:
- checkout_new_url_after_check_mode is changed
# Test that checkout by branch works when the branch is not in our current repo but the sha is
- name: CHANGE-REPO-URL | clear checkout_dir
file:
state: absent
path: "{{ checkout_dir }}"
- name: CHANGE-REPO-URL | "Clone example git repo that we're going to modify"
git:
repo: "{{ repo_update_url_1 }}"
dest: "{{ checkout_dir }}/repo"
- name: CHANGE-REPO-URL | Clone the repo again - this is what we test
git:
repo: "{{ checkout_dir }}/repo"
dest: "{{ checkout_dir }}/checkout"
- name: CHANGE-REPO-URL | Add a branch to the repo
command: git branch new-branch
args:
chdir: "{{ checkout_dir }}/repo"
- name: CHANGE-REPO-URL | Checkout the new branch in the checkout
git:
repo: "{{ checkout_dir}}/repo"
version: 'new-branch'
dest: "{{ checkout_dir }}/checkout"