-
Ansible-based Regression Test Suite
Create a lightweight, modular test harness using Ansible playbooks to verify system functionality after key milestones (feature completion, bugfixes, refactors).
Goal
Ensure that basic API endpoints behave correctly and catch regressions early by running a fixed suite of tests. The suite will initially cover core roles and user operations.
Initial Test Modules
- verify_roles.yml – Check that the expected roles (including ADMIN) are present.
- verify_users.yml – Ensure that the default admin user exists.
- create_test_user.yml – Create a test user (
rk) with a sample role (FOO). - delete_test_user.yml – Delete the test user and confirm it no longer exists.
- verify.yml – Top-level playbook that invokes the above in sequence.
Modularity
Each new feature (e.g., Projects, Issues, PullRequests) can add its own role-based module and plug into the
verify.ymlsequence. The system will be designed to fail fast on error and output clear diagnostics.Tools
- Ansible: Preferred for modularity and integration later into CI/CD.
- httpie: Preferred over curl for clarity, but we’ll fall back to curl if httpie is unavailable on target system.
Estimated Time
- Setup and core module implementation: 2.5–3.5 hours
- Adding future modules: ~15–30 minutes each
| Type |
New Feature
|
| Priority |
Normal
|
| Assignee | |
| Version |
none
|
| Sprints |
n/a
|
| Customer |
n/a
|
Issue Votes (0)
Goal
Introduce an Ansible-based regression test suite to validate the core REST APIs after each milestone, bugfix, or feature merge — ensuring nothing is accidentally broken.
This will serve as a lightweight and modular test harness that can grow with the project.
Motivation
We want to verify (in a repeatable, automated fashion) that:
Tasks
verify.ymlroles/api/verify_roles.yml: List and validate system rolesroles/api/verify_users.yml: Fetch and validate known users (e.g.,admin)roles/api/create_test_user.yml: Create a userrkwith roleFOOroles/api/delete_test_user.yml: Delete userrkand re-validateAssumptions
http://localhost:8080urimodule to make REST callsStretch Goals
Estimate
Initial setup (core roles + user CRUD): 2–3 hours
Adding additional playbooks for new features: 15–30 mins per feature