This directory contains GitHub Actions workflows that automatically test the NodeMaven Python SDK and allow community members to test with their own API keys.
Triggers:
- β
Automatic: Runs on every push to
main
/develop
branches - β
Pull Requests: Runs on all PRs to
main
branch - β Manual: Can be triggered manually with custom settings
What it does:
- π§ͺ Always runs: 31 unit tests (no API key needed)
- π Conditionally runs: 17 integration tests (API key required)
- π Generates: Detailed test reports and summaries
- π Tests: Real proxy connections across multiple countries
Every time you push code or create a PR, the workflow automatically:
- Runs all unit tests
- Verifies code quality
- Shows results directly in GitHub
Option 1: Manual Workflow Run
- Go to Actions tab
- Click "NodeMaven Python SDK Tests"
- Click "Run workflow"
- Fill in your settings:
- Test Mode:
unit-only
,integration-basic
, orintegration-full
- API Key: Your NodeMaven API key
- Countries:
us,gb,ca
(or any combination)
- Test Mode:
- Click "Run workflow"
Option 2: Issue Template
- Go to Issues tab
- Click "New issue"
- Choose "π§ͺ Test with My API Key"
- Fill out the form with your requirements
- Follow the instructions to run tests
β
Proxy username building (12 tests)
β
TTL validation (2 tests)
β
Credential validation (4 tests)
β
Utility functions (5 tests)
β
Client initialization (3 tests)
β
Configuration methods (5 tests)
β
Real API connectivity
β
User authentication
β
Proxy connections (HTTP/SOCKS5)
β
Multi-country verification
β
Session persistence
β
Error handling
When you run integration tests, you'll see results like:
β
API Key Valid - User: your@email.com
β
US proxy working: 65.189.94.222
β
GB proxy working: 86.22.70.218
β
CA proxy working: 50.67.58.150
β
Session persistence: Verified
API Key Protection:
- β Not logged: API keys never appear in logs
- β Not stored: Keys are used only during test execution
- β Temporary: Environment variables cleaned after tests
- β Masked: GitHub automatically masks sensitive data
Access Control:
- β Public results: Test results are public (no sensitive data)
- β Private inputs: API keys remain private
- β Rate limiting: Prevents abuse with reasonable limits
- π Confidence: Every change is automatically tested
- π‘οΈ Quality: Catch issues before they reach users
- π Visibility: Clear status on all PRs and commits
- π€ Community: Let users test with their own accounts
- π Documentation: Live examples of how things work
- β Verification: Test that SDK works with your account
- π Debugging: Identify issues specific to your setup
- π Coverage: Test proxies in your required countries
- π Reports: Get detailed results and troubleshooting info
- π‘ Examples: See real working configurations
- Faster releases: Automated testing catches issues early
- Better quality: Comprehensive testing across scenarios
- User confidence: Community can verify functionality
- Issue resolution: Clear data when problems occur
- Trust building: Transparent testing builds user confidence
- Support reduction: Users can self-verify before issues
- Market reach: Easy for prospects to test functionality
- Quality assurance: Continuous validation of service quality
- Try it out: Run the workflow with your API key
- Provide feedback: Let us know how it works for you
- Suggest improvements: What other tests would be helpful?
- Share results: Help others by sharing your experience
- Documentation: Check the Python SDK README
- Issues: Create an issue if you find problems
- Community: Join discussions in existing issues
- Support: Contact support@nodemaven.com for account issues
This automated testing ensures NodeMaven Python SDK works reliably for everyone! π