Skip to content

feat: Streamlit control panel + 4 test suites - #2

Merged
narayanareddy11 merged 2 commits into
mainfrom
feature/add-tests
Apr 4, 2026
Merged

feat: Streamlit control panel + 4 test suites#2
narayanareddy11 merged 2 commits into
mainfrom
feature/add-tests

Conversation

@narayanareddy11

Copy link
Copy Markdown
Owner

Summary

  • Streamlit app — visual UI to control all 6 MCP servers from a browser
  • 4 test suites — pytest tests for Docker, Terraform, SonarQube, and Jenkins

Streamlit App (streamlit_app/)

6-page dashboard with sidebar navigation:

Page Controls
🏠 Dashboard Live health cards, port status, pod list, container list
🐳 Docker List/start/stop/restart containers, pull images, run new containers
☸️ Kubernetes Pods, deployments, services, PVCs, scale, restart, logs
⚙️ Jenkins Jobs, trigger builds, console logs, create jobs, nodes, queue
🔍 SonarQube Projects, metrics, quality gates, issues, token generator
🌍 Terraform Init/plan/apply/destroy with live output, state, workspaces

Run:

python3 -m streamlit run streamlit_app/app.py
# → http://localhost:8501

Tests (tests/)

File Tests Covers
test_01_docker_manager.py 5 Docker daemon, containers, images, volumes
test_02_terraform_manager.py 6 version, validate, plan, apply, state, output
test_03_sonarqube_manager.py 5 ping, health, project CRUD, quality gates, tokens
test_04_jenkins_manager.py 5 health, version, job CRUD, build trigger, nodes

Run:

pytest tests/ -v

Test plan

  • Open http://localhost:8501 and verify all 6 pages load
  • Dashboard shows all services green
  • Trigger a Jenkins build from UI
  • Run pytest tests/ -v — all non-skipped tests pass

🤖 Generated with Claude Code

narayanareddy11 and others added 2 commits April 4, 2026 11:40
Streamlit app (streamlit_app/):
- app.py: 6-page visual dashboard (Dashboard, Docker, K8s, Jenkins, SonarQube, Terraform)
- utils.py: shared helpers mirroring all 6 MCP server tools
- Run: python3 -m streamlit run streamlit_app/app.py

Tests (tests/):
- test_01_docker_manager.py: 5 Docker CLI tests
- test_02_terraform_manager.py: 6 Terraform tests
- test_03_sonarqube_manager.py: 5 SonarQube API tests
- test_04_jenkins_manager.py: 5 Jenkins API tests
- conftest.py: shared fixtures with K8s service URLs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Captured 4 live screenshots via Playwright (headless Chromium)
- Dashboard, Docker, Jenkins, SonarQube pages
- Fixed ternary st.* expression bug causing StreamlitAPIException
- Screenshots saved to docs/screenshots/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@narayanareddy11
narayanareddy11 merged commit e73da7f into main Apr 4, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant