system-config/playbooks/test-gitea.yaml
Clark Boylan d4910d18c0 Move gitea partial clone test
This moves the gitea partial clone test from our setup playbook into
testinfra/test_gitea.py. We should avoid asserting too much state and
behavior in the ansible as it makes the split between testinfra and
ansible more confusing. To address this we move this behavior check into
testinfra where it belongs.

Change-Id: I6a649bc380f850425c51e9b4632c798a23ab0e0e
2022-06-29 11:26:47 -07:00

73 lines
2.7 KiB
YAML

- hosts: "gitea"
tasks:
- name: Run selenium container
include_role:
name: run-selenium
- name: Test base jobs project was created in gitea
uri:
url: "https://localhost:3000/opendev/base-jobs"
validate_certs: false
status_code: 200
- name: Test zuul project was created in gitea
uri:
url: "https://localhost:3000/zuul/zuul"
validate_certs: false
status_code: 200
return_content: yes
register: zuul_content
- name: Assert description updated
fail:
msg: Zuul description was not updated
when: '"Zuuls new description" not in zuul_content.content'
- name: Configure ssh for pushing into test gitea
shell: |
ssh-keyscan -t rsa -p 222 localhost >> /home/zuul/.ssh/known_hosts
ssh-keygen -t ed25519 -f /home/zuul/.ssh/id_ed25519 -C giteagerrittest -P ''
# We become zuul here because we need to git push has zuul later to
# ensure the owner of the git repo is the one operating on it.
become: true
become_user: zuul
- name: Register new gitea gerrit pubkey value
slurp:
src: /home/zuul/.ssh/id_ed25519.pub
register: slurped_gitea_gerrit_pubkey
- name: Set testing key on gerrit account in gitea
no_log: true
uri:
user: root
password: "{{ gitea_root_password }}"
force_basic_auth: true
url: "https://localhost:3000/api/v1/admin/users/gerrit/keys"
validate_certs: false
method: POST
status_code: 201
body_format: json
body:
key: "{{ slurped_gitea_gerrit_pubkey['content'] | b64decode }}"
read_only: false
title: "Gerrit testing key"
- name: Push system-config into our test gitea for testing
shell: |
cd /home/zuul/src/opendev.org/opendev/system-config
git remote add test-gitea ssh://git@localhost:222/opendev/system-config
GIT_SSH_COMMAND='ssh -i /home/zuul/.ssh/id_ed25519' git push -f test-gitea master
# We run this as zuul because zuul owns the git repo in /home/zuul
# and git by default does not want to operate on a git repo as another
# user.
become: true
become_user: zuul
- name: Run rename playbook
import_playbook: rename_repos.yaml
vars:
repolist: /home/zuul/src/opendev.org/opendev/system-config/playbooks/zuul/test_gitea_renames.yaml
# This is conveniently left here so that it can be uncommented in order to
# autohold the system-config-run-gitea job in zuul.
#- hosts: bridge.openstack.org
# tasks:
# - name: Force a failure for human intervention
# fail:
# msg: Failing so that we can check on things with a hold