atxtechbro / atxtechbro/dotfiles

Test GitLab MCP server modular architecture with real GitLab resources

Open
#757 0 comments 0 reactions 0 assignees View on GitHub
gitlab mcp testing
Dominant language
Shell
Stars
27
Forks
2
PR merge metrics
No merged PRs in 30d

Description

## Summary

After refactoring the GitLab MCP server from monolithic to modular architecture, we need comprehensive testing to ensure all 53 tools work correctly with real GitLab resources.

## Test Scope

**Tools to test (53 total):**
- Pipeline Operations (7 tools): `gitlab_list_pipelines`, `gitlab_get_pipeline`, `gitlab_get_pipeline_jobs`, `gitlab_get_job_log`, `gitlab_get_failed_jobs`, `gitlab_retry_job`, `gitlab_cancel_pipeline`
- Project Management (10 tools): `gitlab_list_projects`, `gitlab_get_project`, `gitlab_create_project`, `gitlab_list_branches`, `gitlab_get_branch`, `gitlab_create_branch`, `gitlab_delete_branch`, `gitlab_list_tags`, `gitlab_get_tag`, `gitlab_create_tag`, `gitlab_delete_tag`
- Basic Operations (5 tools): `gitlab_list_issues`, `gitlab_get_issue`, `gitlab_list_merge_requests`, `gitlab_get_merge_request`, `gitlab_get_file`
- User/Group Management (7 tools): `gitlab_get_user`, `gitlab_list_users`, `gitlab_get_current_user`, `gitlab_list_groups`, `gitlab_get_group`, `gitlab_list_group_members`, `gitlab_list_project_members`
- Issue Management (10 tools): `gitlab_create_issue`, `gitlab_update_issue`, `gitlab_close_issue`, `gitlab_reopen_issue`, `gitlab_list_issue_comments`, `gitlab_create_issue_comment`, `gitlab_list_project_labels`, `gitlab_create_project_label`, `gitlab_list_project_milestones`, `gitlab_create_project_milestone`
- Merge Request Operations (11 tools): `gitlab_create_merge_request`, `gitlab_update_merge_request`, `gitlab_merge_merge_request`, `gitlab_close_merge_request`, `gitlab_reopen_merge_request`, `gitlab_list_mr_comments`, `gitlab_create_mr_comment`, `gitlab_get_mr_diff`, `gitlab_get_mr_changes`, `gitlab_approve_merge_request`, `gitlab_unapprove_merge_request`

## Testing Approach

**Real Resource Testing** (not just unit tests):
1. Create test GitLab project
2. Test each tool category with real GitLab API calls
3. Create/modify/delete actual resources (projects, issues, MRs, etc.)
4. Verify tool responses and functionality
5. Clean up test resources

## Test Plan

1. **Setup**: Create dedicated test GitLab project
2. **Pipeline Testing**: Test CI/CD pipeline operations
3. **Project Testing**: Test project, branch, and tag operations
4. **Issue Testing**: Test full issue lifecycle (create → update → comment → close)
5. **MR Testing**: Test full merge request lifecycle (create → update → comment → approve → merge)
6. **User/Group Testing**: Test user and group management operations
7. **Cleanup**: Remove all test resources

## Acceptance Criteria

- [ ] All 53 tools execute without errors
- [ ] Tool responses match expected schemas
- [ ] Real GitLab resources are created/modified/deleted as expected
- [ ] All test resources are properly cleaned up
- [ ] Modular architecture maintains exact same functionality as monolithic version

## Related

- Refactoring PR: [Link to modular architecture PR]
- GitLab MCP Server: `mcp/servers/gitlab-mcp-server/`

Priority: High - Required before considering modular refactoring complete

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in mcp/servers/gitlab-mcp-server/ and review the modular architecture context before defining the real-resource test setup. Exercise the 53 listed tools across pipeline, project, issue, merge request, and user/group operations, then verify response schemas, resource changes, and cleanup against the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, gitlab
Domain
api, devtools, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.