b9e2c4e37d
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.
75 lines
2.8 KiB
YAML
75 lines
2.8 KiB
YAML
---
|
|
- name: create default skeleton
|
|
command: ansible-galaxy collection init ansible_test.my_collection {{ galaxy_verbosity }}
|
|
args:
|
|
chdir: '{{ galaxy_dir }}/scratch'
|
|
register: init_relative
|
|
|
|
- name: get result of create default skeleton
|
|
find:
|
|
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
|
|
recurse: yes
|
|
file_type: directory
|
|
register: init_relative_actual
|
|
|
|
- debug:
|
|
var: init_relative_actual.files | map(attribute='path') | list
|
|
|
|
- name: assert create default skeleton
|
|
assert:
|
|
that:
|
|
- '"Collection ansible_test.my_collection was created successfully" in init_relative.stdout'
|
|
- init_relative_actual.files | length == 3
|
|
- (init_relative_actual.files | map(attribute='path') | list)[0] | basename in ['docs', 'plugins', 'roles']
|
|
- (init_relative_actual.files | map(attribute='path') | list)[1] | basename in ['docs', 'plugins', 'roles']
|
|
- (init_relative_actual.files | map(attribute='path') | list)[2] | basename in ['docs', 'plugins', 'roles']
|
|
|
|
- name: create collection with custom init path
|
|
command: ansible-galaxy collection init ansible_test2.my_collection --init-path "{{ galaxy_dir }}/scratch/custom-init-dir" {{ galaxy_verbosity }}
|
|
register: init_custom_path
|
|
|
|
- name: get result of create default skeleton
|
|
find:
|
|
path: '{{ galaxy_dir }}/scratch/custom-init-dir/ansible_test2/my_collection'
|
|
file_type: directory
|
|
register: init_custom_path_actual
|
|
|
|
- name: assert create collection with custom init path
|
|
assert:
|
|
that:
|
|
- '"Collection ansible_test2.my_collection was created successfully" in init_custom_path.stdout'
|
|
- init_custom_path_actual.files | length == 3
|
|
- (init_custom_path_actual.files | map(attribute='path') | list)[0] | basename in ['docs', 'plugins', 'roles']
|
|
- (init_custom_path_actual.files | map(attribute='path') | list)[1] | basename in ['docs', 'plugins', 'roles']
|
|
- (init_custom_path_actual.files | map(attribute='path') | list)[2] | basename in ['docs', 'plugins', 'roles']
|
|
|
|
- name: create collection for ignored files and folders
|
|
command: ansible-galaxy collection init ansible_test.ignore
|
|
args:
|
|
chdir: '{{ galaxy_dir }}/scratch'
|
|
|
|
- name: create list of ignored files
|
|
set_fact:
|
|
collection_ignored_files:
|
|
- plugins/compiled.pyc
|
|
- something.retry
|
|
- .git
|
|
|
|
- name: plant ignored files into the ansible_test.ignore collection
|
|
copy:
|
|
dest: '{{ galaxy_dir }}/scratch/ansible_test/ignore/{{ item }}'
|
|
content: '{{ item }}'
|
|
loop: '{{ collection_ignored_files }}'
|
|
|
|
- name: create list of ignored directories
|
|
set_fact:
|
|
collection_ignored_directories:
|
|
- docs/.git
|
|
- plugins/doc_fragments/__pycache__
|
|
- .svn
|
|
|
|
- name: plant ignored folders into the ansible_test.ignore collection
|
|
file:
|
|
path: '{{ galaxy_dir }}/scratch/ansible_test/ignore/{{ item }}'
|
|
state: directory
|
|
loop: '{{ collection_ignored_directories }}'
|