1.5 KiB
1.5 KiB
Integration Tests
This directory contains integration tests that run against a real Kubernetes cluster.
Prerequisites
- Kubernetes cluster - A running cluster accessible via
kubectl - kubectl - Configured with appropriate context
- Go 1.21+ - For running tests
Running Tests
# Run all integration tests
make test-integration
# Run specific command tests
make test-integration-mcp
# Run with verbose output
make test-integration-verbose
# Run with custom timeout (default: 5m)
INTEGRATION_TIMEOUT=10m make test-integration
Environment Variables
| Variable | Default | Description |
|---|---|---|
KUBESHARK_BINARY |
Auto-built | Path to pre-built kubeshark binary |
INTEGRATION_TIMEOUT |
5m |
Test timeout duration |
KUBECONFIG |
~/.kube/config |
Kubernetes config file |
INTEGRATION_SKIP_CLEANUP |
false |
Skip cleanup after tests (for debugging) |
Test Structure
integration/
├── README.md # This file
├── common_test.go # Shared test helpers
├── mcp_test.go # MCP command integration tests
├── tap_test.go # Tap command tests (future)
└── ... # Additional command tests
Writing New Tests
- Create
<command>_test.gowith build tag//go:build integration - Use helpers from
common_test.go:requireKubernetesCluster(t),getKubesharkBinary(t),cleanupKubeshark(t, binary)
CI/CD Integration
# JSON output for CI parsing
go test -tags=integration -json ./integration/...