ansible/test/integration/targets/ansible-galaxy-collection/tasks/build.yml
Tadej Borovšak b9e2c4e37d
Add tests for ignore functionality of collection build (#69345)
In order to test this piece of functionality, we create a dedicated
collection that contains files that should be ignored when building
the collection tarball.

After the collection is built, we make sure the produced tarball does
not contain any files that should be ignored.
2020-09-01 11:51:35 -04:00

76 lines
2.6 KiB
YAML

---
- name: build basic collection based on current directory
command: ansible-galaxy collection build {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
register: build_current_dir
- name: get result of build basic collection on current directory
stat:
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/ansible_test-my_collection-1.0.0.tar.gz'
register: build_current_dir_actual
- name: assert build basic collection based on current directory
assert:
that:
- '"Created collection for ansible_test.my_collection" in build_current_dir.stdout'
- build_current_dir_actual.stat.exists
- name: build basic collection based on relative dir
command: ansible-galaxy collection build scratch/ansible_test/my_collection {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
register: build_relative_dir
- name: get result of build basic collection based on relative dir
stat:
path: '{{ galaxy_dir }}/ansible_test-my_collection-1.0.0.tar.gz'
register: build_relative_dir_actual
- name: assert build basic collection based on relative dir
assert:
that:
- '"Created collection for ansible_test.my_collection" in build_relative_dir.stdout'
- build_relative_dir_actual.stat.exists
- name: fail to build existing collection without force
command: ansible-galaxy collection build scratch/ansible_test/my_collection {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
ignore_errors: yes
register: build_existing_no_force
- name: build existing collection with force
command: ansible-galaxy collection build scratch/ansible_test/my_collection --force {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
register: build_existing_force
- name: assert build existing collection
assert:
that:
- '"use --force to re-create the collection artifact" in build_existing_no_force.stderr'
- '"Created collection for ansible_test.my_collection" in build_existing_force.stdout'
- name: build collection containing ignored files
command: ansible-galaxy collection build
args:
chdir: '{{ galaxy_dir }}/scratch/ansible_test/ignore'
- name: list the created tar contents
command: tar -tf {{ galaxy_dir }}/scratch/ansible_test/ignore/ansible_test-ignore-1.0.0.tar.gz
args:
warn: false
register: tar_output
- name: assert ignored files are not present in the archive
assert:
that:
- item not in tar_output.stdout_lines
loop: '{{ collection_ignored_files }}'
- name: assert ignored directories are not present in the archive
assert:
that:
- item not in tar_output.stdout_lines
loop: '{{ collection_ignored_directories }}'