From 5ff59c978c4f15148d5b9dc2963b944e6ae8679b Mon Sep 17 00:00:00 2001 From: "don.sizemore" Date: Thu, 3 Jun 2021 09:14:02 -0400 Subject: [PATCH] #143 use IQSS authoritative list of integration tests instead of run-test-suite.sh --- defaults/main.yml | 2 +- tasks/dataverse-api-testsuite.yml | 38 ++++++++++++++----------------- tests/group_vars/jenkins.yml | 2 +- tests/group_vars/memorytests.yml | 2 +- tests/group_vars/vagrant.yml | 2 +- 5 files changed, 21 insertions(+), 25 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index ecf7900..4cbd80d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -42,7 +42,7 @@ dataverse: # possible test values from https://github.com/IQSS/dataverse/blob/develop/conf/docker-aio/run-test-suite.sh#L11 # beware DataversesIT and DatasetsIT at minimum must be run for any other tests to succeed. have fun. #tests: "DataversesIT,DatasetsIT,AdminIT" - tests: all + tests: default branding: enabled: false directory: "{{ playbook_dir }}/files/branding" diff --git a/tasks/dataverse-api-testsuite.yml b/tasks/dataverse-api-testsuite.yml index 2ca2f6d..7afeb75 100644 --- a/tasks/dataverse-api-testsuite.yml +++ b/tasks/dataverse-api-testsuite.yml @@ -30,25 +30,6 @@ - name: ensure we have api script data directory shell: "/bin/cp -r {{ dataverse.srcdir }}/scripts/api/data /tmp/dvinstall/" -- name: grab latest copy of run-test-suite.sh - get_url: - url: https://raw.githubusercontent.com/IQSS/dataverse/develop/conf/docker-aio/run-test-suite.sh - dest: '{{ dataverse.srcdir }}/run-test-suite.sh' - mode: 0755 - -- name: update run-test-suite.sh to find our maven.sh in profile.d - replace: - path: '{{ dataverse.srcdir }}/run-test-suite.sh' - regexp: 'maven/maven.sh' - replace: '/etc/profile.d/maven.sh' - -- name: run only specified tests - lineinfile: - path: /tmp/dataverse/run-test-suite.sh - regexp: '^mvn test.*' - line: 'mvn test -Dtest={{ dataverse.api.tests }} -Ddataverse.test.baseurl=$dvurl' - when: dataverse.api.tests != "all" - - name: set user management quesadilla uri: url: 'http://localhost:8080/api/admin/settings/BuiltinUsers.KEY' @@ -77,8 +58,23 @@ X-Dataverse-key: '{{ api_token }}' when: root_dv_published.stat.exists == False +- name: get authoritative list of ITs + ansible.builtin.slurp: + src: '{{ dataverse.srcdir }}/tests/integration-tests.txt' + register: integration_test_list_b64 + when: dataverse.api.tests == 'default' + +- name: base64decode integration_test_list_b64 + ansible.builtin.set_fact: + integration_test_list: "{{ integration_test_list_b64['content'] | b64decode | trim }}" + +- name: unless we have a user-specified list + set_fact: + integration_test_list: '{{ dataverse.api.tests }}' + when: dataverse.api.tests != 'default' + - name: run test suite with default maven - shell: '{{ dataverse.srcdir }}/run-test-suite.sh http://localhost:8080' + shell: 'mvn test -Dtest={{ integration_test_list }} -Ddataverse.test.baseurl=http://localhost:8080' args: chdir: '{{ dataverse.srcdir }}' environment: @@ -88,7 +84,7 @@ when: maven.version == 'default' - name: run test suite with custom maven - shell: 'source /etc/profile.d/maven.sh && {{ dataverse.srcdir }}/run-test-suite.sh http://localhost:8080' + shell: 'source /etc/profile.d/maven.sh && mvn test -Dtest={{ integration_test_list }} -Ddataverse.test.baseurl=http://localhost:8080' args: chdir: '{{ dataverse.srcdir }}' environment: diff --git a/tests/group_vars/jenkins.yml b/tests/group_vars/jenkins.yml index 5905b1e..6513ef0 100644 --- a/tests/group_vars/jenkins.yml +++ b/tests/group_vars/jenkins.yml @@ -36,7 +36,7 @@ dataverse: # possible test values from https://github.com/IQSS/dataverse/blob/develop/conf/docker-aio/run-test-suite.sh#L11 # beware DataversesIT and DatasetsIT at minimum must be run for any other tests to succeed. have fun. #tests: "DataversesIT,DatasetsIT,AdminIT" - tests: all + tests: default branding: enabled: false directory: "{{ playbook_dir }}/files/branding" diff --git a/tests/group_vars/memorytests.yml b/tests/group_vars/memorytests.yml index 5c11222..8542653 100644 --- a/tests/group_vars/memorytests.yml +++ b/tests/group_vars/memorytests.yml @@ -40,7 +40,7 @@ dataverse: # possible test values from https://github.com/IQSS/dataverse/blob/develop/conf/docker-aio/run-test-suite.sh#L11 # beware DataversesIT and DatasetsIT at minimum must be run for any other tests to succeed. have fun. #tests: "DataversesIT,DatasetsIT,AdminIT" - tests: all + tests: default branding: enabled: false directory: "{{ playbook_dir }}/files/branding" diff --git a/tests/group_vars/vagrant.yml b/tests/group_vars/vagrant.yml index bf90cc7..066d432 100644 --- a/tests/group_vars/vagrant.yml +++ b/tests/group_vars/vagrant.yml @@ -40,7 +40,7 @@ dataverse: # possible test values from https://github.com/IQSS/dataverse/blob/develop/conf/docker-aio/run-test-suite.sh#L11 # beware DataversesIT and DatasetsIT at minimum must be run for any other tests to succeed. have fun. #tests: "DataversesIT,DatasetsIT,AdminIT" - tests: all + tests: default branding: enabled: false directory: "{{ playbook_dir }}/files/branding"