diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 04bee82..2c10419 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -51,7 +51,7 @@ jobs: matrix: pulp: - "3.16" - - "3.18" + - "3.21" steps: # Checks-out the repository under $GITHUB_WORKSPACE, so it's accessible to the job - uses: actions/checkout@v2 diff --git a/tests/pulp-in-one.sh b/tests/pulp-in-one.sh index bb4d143..96d5c75 100755 --- a/tests/pulp-in-one.sh +++ b/tests/pulp-in-one.sh @@ -8,7 +8,7 @@ set -o pipefail mkdir -p settings -PULP_TAG=${PULP_TAG:3.18} +PULP_TAG=${PULP_TAG:-"3.21"} cat << EOF > settings/settings.py CONTENT_ORIGIN='http://$(hostname):8080' diff --git a/tests/test_django_user.yml b/tests/test_django_user.yml index aa3909f..de56ea2 100644 --- a/tests/test_django_user.yml +++ b/tests/test_django_user.yml @@ -8,84 +8,99 @@ pulp_admin_password: password pulp_validate_certs: true tasks: - - name: Query groups + - name: Get Pulp status uri: - url: "{{ pulp_url }}/pulp/api/v3/groups/" - user: "{{ pulp_admin_username }}" - password: "{{ pulp_admin_password }}" + url: "{{ pulp_url }}/pulp/api/v3/status/" method: GET body_format: json status_code: 200 - force_basic_auth: true - register: groups_result + register: pulp_status - - name: Create groups - uri: - url: "{{ pulp_url }}/pulp/api/v3/groups/" - user: "{{ pulp_admin_username }}" - password: "{{ pulp_admin_password }}" - method: POST - body: - name: "{{ item }}" - body_format: json - status_code: 201 - force_basic_auth: true - loop: - - test_group1 - - test_group2 - when: item not in groups_result.json.results | map(attribute='name') | list - - - include_role: - name: pulp_django_user - vars: - pulp_django_users: - - username: test_user - password: correct horse battery staple - groups: - - test_group1 - - - name: Query user - uri: - url: "{{ pulp_url }}/pulp/api/v3/users/?username=test_user" - user: "{{ pulp_admin_username }}" - password: "{{ pulp_admin_password }}" - method: GET - status_code: 200 - force_basic_auth: true - register: user_result - - - name: Verify django user creation - assert: - that: - - user_result.json.count == 1 - - user_result.json.results[0].username == "test_user" - - user_result.json.results[0].groups | length == 1 - - user_result.json.results[0].groups[0].name == "test_group1" - - # Update group membership. - - include_role: - name: pulp_django_user - vars: - pulp_django_users: - - username: test_user - password: correct horse battery staple - groups: - - test_group2 - - - name: Query user - uri: - url: "{{ pulp_url }}/pulp/api/v3/users/?username=test_user" - user: "{{ pulp_admin_username }}" - password: "{{ pulp_admin_password }}" - method: GET - status_code: 200 - force_basic_auth: true - register: user_result - - - name: Verify django user group update - assert: - that: - - user_result.json.count == 1 - - user_result.json.results[0].username == "test_user" - - user_result.json.results[0].groups | length == 1 - - user_result.json.results[0].groups[0].name == "test_group2" + - name: Set Pulp version fact + set_fact: + pulp_version: "{{ pulp_status.json.versions | selectattr('component', 'equalto', 'core') | map(attribute='version') | first }}" + + - name: Run Django user test on Pulp =< 3.18 + when: pulp_version is version('3.18', 'le', version_type='strict') + block: + - name: Query groups + uri: + url: "{{ pulp_url }}/pulp/api/v3/groups/" + user: "{{ pulp_admin_username }}" + password: "{{ pulp_admin_password }}" + method: GET + body_format: json + status_code: 200 + force_basic_auth: true + register: groups_result + + - name: Create groups + uri: + url: "{{ pulp_url }}/pulp/api/v3/groups/" + user: "{{ pulp_admin_username }}" + password: "{{ pulp_admin_password }}" + method: POST + body: + name: "{{ item }}" + body_format: json + status_code: 201 + force_basic_auth: true + loop: + - test_group1 + - test_group2 + when: item not in groups_result.json.results | map(attribute='name') | list + + - include_role: + name: pulp_django_user + vars: + pulp_django_users: + - username: test_user + password: correct horse battery staple + groups: + - test_group1 + + - name: Query user + uri: + url: "{{ pulp_url }}/pulp/api/v3/users/?username=test_user" + user: "{{ pulp_admin_username }}" + password: "{{ pulp_admin_password }}" + method: GET + status_code: 200 + force_basic_auth: true + register: user_result + + - name: Verify django user creation + assert: + that: + - user_result.json.count == 1 + - user_result.json.results[0].username == "test_user" + - user_result.json.results[0].groups | length == 1 + - user_result.json.results[0].groups[0].name == "test_group1" + + # Update group membership. + - include_role: + name: pulp_django_user + vars: + pulp_django_users: + - username: test_user + password: correct horse battery staple + groups: + - test_group2 + + - name: Query user + uri: + url: "{{ pulp_url }}/pulp/api/v3/users/?username=test_user" + user: "{{ pulp_admin_username }}" + password: "{{ pulp_admin_password }}" + method: GET + status_code: 200 + force_basic_auth: true + register: user_result + + - name: Verify django user group update + assert: + that: + - user_result.json.count == 1 + - user_result.json.results[0].username == "test_user" + - user_result.json.results[0].groups | length == 1 + - user_result.json.results[0].groups[0].name == "test_group2"