|
|
|
---
|
|
|
|
- name: create a dangling symbolic link inside collection directory
|
|
|
|
ansible.builtin.file:
|
|
|
|
src: '/non-existent-path/README.md'
|
|
|
|
dest: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/docs/README.md'
|
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
|
|
|
|
- name: build basic collection based on current directory with dangling symlink
|
|
|
|
command: ansible-galaxy collection build {{ galaxy_verbosity }}
|
|
|
|
args:
|
|
|
|
chdir: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
|
|
|
|
register: fail_symlink_build
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: assert that build fails due to dangling symlink
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- fail_symlink_build.failed
|
|
|
|
- '"Failed to find the target path" in fail_symlink_build.stderr'
|
|
|
|
|
|
|
|
- name: remove dangling symbolic link
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/docs/README.md'
|
|
|
|
state: absent
|
|
|
|
|
|
|
|
- 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
|
|
|
|
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 }}'
|