summaryrefslogtreecommitdiff
path: root/test/integration/targets
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets')
-rw-r--r--test/integration/targets/ansible-galaxy-collection-scm/meta/main.yml1
-rw-r--r--test/integration/targets/ansible-galaxy-collection-scm/tasks/main.yml1
-rw-r--r--test/integration/targets/ansible-galaxy-collection-scm/tasks/test_manifest_metadata.yml55
3 files changed, 57 insertions, 0 deletions
diff --git a/test/integration/targets/ansible-galaxy-collection-scm/meta/main.yml b/test/integration/targets/ansible-galaxy-collection-scm/meta/main.yml
index e3dd5fb100..655a62f0d2 100644
--- a/test/integration/targets/ansible-galaxy-collection-scm/meta/main.yml
+++ b/test/integration/targets/ansible-galaxy-collection-scm/meta/main.yml
@@ -1,3 +1,4 @@
---
dependencies:
- setup_remote_tmp_dir
+- setup_gnutar
diff --git a/test/integration/targets/ansible-galaxy-collection-scm/tasks/main.yml b/test/integration/targets/ansible-galaxy-collection-scm/tasks/main.yml
index 546c408395..dab599b15d 100644
--- a/test/integration/targets/ansible-galaxy-collection-scm/tasks/main.yml
+++ b/test/integration/targets/ansible-galaxy-collection-scm/tasks/main.yml
@@ -30,6 +30,7 @@
- include_tasks: ./download.yml
- include_tasks: ./setup_collection_bad_version.yml
- include_tasks: ./test_invalid_version.yml
+ - include_tasks: ./test_manifest_metadata.yml
always:
diff --git a/test/integration/targets/ansible-galaxy-collection-scm/tasks/test_manifest_metadata.yml b/test/integration/targets/ansible-galaxy-collection-scm/tasks/test_manifest_metadata.yml
new file mode 100644
index 0000000000..a01551cad8
--- /dev/null
+++ b/test/integration/targets/ansible-galaxy-collection-scm/tasks/test_manifest_metadata.yml
@@ -0,0 +1,55 @@
+- name: Test installing a collection from a git repo containing a MANIFEST.json
+ block:
+ - name: Create a temp directory for building the collection
+ file:
+ path: '{{ galaxy_dir }}/scratch'
+ state: directory
+
+ - name: Initialize a collection
+ command: 'ansible-galaxy collection init namespace_3.collection_1'
+ args:
+ chdir: '{{ galaxy_dir }}/scratch'
+
+ - name: Build the collection
+ command: 'ansible-galaxy collection build namespace_3/collection_1'
+ args:
+ chdir: '{{ galaxy_dir }}/scratch'
+
+ - name: Initialize git repository
+ command: 'git init {{ scm_path }}/namespace_3'
+
+ - name: Create the destination for the collection
+ file:
+ path: '{{ scm_path }}/namespace_3/collection_1'
+ state: directory
+
+ - name: Unarchive the collection in the git repo
+ unarchive:
+ dest: '{{ scm_path }}/namespace_3/collection_1'
+ src: '{{ galaxy_dir }}/scratch/namespace_3-collection_1-1.0.0.tar.gz'
+ remote_src: yes
+
+ - name: Commit the changes
+ shell: git add ./; git commit -m 'add collection'
+ args:
+ chdir: '{{ scm_path }}/namespace_3'
+
+ - name: Install the collection in the git repository
+ command: 'ansible-galaxy collection install git+file://{{ scm_path }}/namespace_3/.git'
+ register: result
+
+ - name: Assert the collection was installed successfully
+ assert:
+ that:
+ - '"namespace_3.collection_1:1.0.0 was installed successfully" in result.stdout_lines'
+
+ always:
+ - name: Clean up directories from test
+ file:
+ path: '{{ galaxy_dir }}/scratch'
+ state: absent
+ loop:
+ - '{{ galaxy_dir }}/scratch'
+ - '{{ scm_path }}/namespace_3'
+
+ - include_tasks: ./empty_installed_collections.yml