ansible/test/integration/targets/ansible-galaxy-collection/tasks/publish.yml
Jordan Borean 26129fcb80
ansible-galaxy - optimise some paths and use fake galaxy int tests (#67685)
* ansible-galaxy - optimise some paths and use fake galaxy int tests

* Added init, built, and publish tests

* Test against both mocked Galaxy and AH server

* Finish off writing the install tests

* Fix up broken tests

* Rename test target and add migrated tests

* Use cloud provider for Galaxy implementation

* Added blank static config

* Use correct alias group

* Set release version and fix copy typo

* Remove reset step as it is no longer needed

* Use sane env var names for test container name
2020-02-29 08:59:09 +10:00

46 lines
1.9 KiB
YAML

---
- name: fail to publish with no token - {{ test_name }}
command: ansible-galaxy collection publish ansible_test-my_collection-1.0.0.tar.gz -s {{ test_server }}
args:
chdir: '{{ galaxy_dir }}'
register: fail_no_token
failed_when: '"HTTP Code: 401" not in fail_no_token.stderr'
- name: fail to publish with invalid token - {{ test_name }}
command: ansible-galaxy collection publish ansible_test-my_collection-1.0.0.tar.gz -s {{ test_server }} --token fail
args:
chdir: '{{ galaxy_dir }}'
register: fail_invalid_token
failed_when: '"HTTP Code: 401" not in fail_invalid_token.stderr'
- name: publish collection - {{ test_name }}
command: ansible-galaxy collection publish ansible_test-my_collection-1.0.0.tar.gz -s {{ test_server }} --token {{ fallaxy_token }}
args:
chdir: '{{ galaxy_dir }}'
register: publish_collection
- name: get result of publish collection - {{ test_name }}
uri:
url: '{{ test_server }}v2/collections/ansible_test/my_collection/versions/1.0.0/'
return_content: yes
register: publish_collection_actual
- name: assert publish collection - {{ test_name }}
assert:
that:
- '"Collection has been successfully published and imported to the Galaxy server" in publish_collection.stdout'
- publish_collection_actual.json.metadata.name == 'my_collection'
- publish_collection_actual.json.metadata.namespace == 'ansible_test'
- publish_collection_actual.json.metadata.version == '1.0.0'
- name: fail to publish existing collection version - {{ test_name }}
command: ansible-galaxy collection publish ansible_test-my_collection-1.0.0.tar.gz -s {{ test_server }} --token {{ fallaxy_token }}
args:
chdir: '{{ galaxy_dir }}'
register: fail_publish_existing
failed_when: '"Artifact already exists" not in fail_publish_existing.stderr'
- name: reset published collections - {{ test_name }}
uri:
url: '{{ test_server }}custom/reset/'
method: POST