Skip to content

Commit

Permalink
IQSS#143 use IQSS authoritative list of integration tests instead of …
Browse files Browse the repository at this point in the history
…run-test-suite.sh
  • Loading branch information
don.sizemore committed Jun 3, 2021
1 parent 04b4acb commit 5ff59c9
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 25 deletions.
2 changes: 1 addition & 1 deletion defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
38 changes: 17 additions & 21 deletions tasks/dataverse-api-testsuite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion tests/group_vars/jenkins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion tests/group_vars/memorytests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion tests/group_vars/vagrant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit 5ff59c9

Please sign in to comment.