feat: deterministic Gitea integration tests + mutation lifecycle

Bootstrap:
- Creates test issue + comment on studio/sol for deterministic test data
- Mirrors 6 real repos from src.sunbeam.pt

Devtools tests (13, all deterministic):
- Read: list_repos, get_repo, get_file, list_branches, list_issues,
  list_pulls, list_comments, list_notifications, list_org_repos,
  get_org, unknown_tool
- Mutation lifecycle: create_repo → create_issue → create_comment →
  create_branch → create_pull → get_pull → edit_issue →
  delete_branch → cleanup (all arg names verified against tool impls)

Additional tests:
- Script sandbox: basic math, string manipulation, JSON output
- Archive search: arg parsing, OpenSearch query
- Persistence: agent CRUD, service user CRUD
- gRPC bridge: event filtering, tool mapping
This commit is contained in:
2026-03-24 12:45:01 +00:00
parent 0efd3e32c3
commit 4528739a5f
2 changed files with 361 additions and 0 deletions

View File

@@ -73,6 +73,22 @@ else
echo " PAT: ${PAT:0:8}..."
fi
# Create a deterministic test issue on sol repo
echo "Creating test issue on studio/sol..."
curl -sf -X POST "$GITEA/api/v1/repos/studio/sol/issues" \
-H 'Content-Type: application/json' \
-u "$ADMIN_USER:$ADMIN_PASS" \
-d '{"title":"Bootstrap test issue","body":"Created by bootstrap-gitea.sh for integration testing."}' \
> /dev/null 2>&1 || true
# Create a comment on issue #1
echo "Creating test comment on issue #1..."
curl -sf -X POST "$GITEA/api/v1/repos/studio/sol/issues/1/comments" \
-H 'Content-Type: application/json' \
-u "$ADMIN_USER:$ADMIN_PASS" \
-d '{"body":"Bootstrap test comment for integration testing."}' \
> /dev/null 2>&1 || true
echo ""
echo "Gitea bootstrap complete."
echo " Admin: $ADMIN_USER / $ADMIN_PASS"