Ordinary-claude-skills testing
Run and troubleshoot tests for DBHub, including unit tests, integration tests with Testcontainers, and database-specific tests. Use when asked to run tests, fix test failures, debug integration tests, or troubleshoot Docker/database container issues.
install
source · Clone the upstream repo
git clone https://github.com/Microck/ordinary-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Microck/ordinary-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills_categorized/security/testing" ~/.claude/skills/microck-ordinary-claude-skills-testing-d4f0f7 && rm -rf "$T"
manifest:
skills_categorized/security/testing/SKILL.mdsource content
Testing Skill
This skill helps you run and troubleshoot tests in the DBHub project.
Quick Commands
Before running tests, consult TESTING.md for comprehensive documentation.
Common test commands:
- Run all testspnpm test
- Run tests in watch modepnpm test:watch
- Run integration tests (requires Docker)pnpm test:integration
- Test specific database connectorpnpm test src/connectors/__tests__/{db-type}.integration.test.ts
Integration Testing
Integration tests use Testcontainers to run real database instances in Docker.
Prerequisites Checklist
Before running integration tests, verify:
- Docker is installed and running:
docker ps - Sufficient Docker memory allocated (4GB+ recommended)
- Network access to pull Docker images
Database-Specific Tests
Test individual database connectors:
# PostgreSQL pnpm test src/connectors/__tests__/postgres.integration.test.ts # MySQL pnpm test src/connectors/__tests__/mysql.integration.test.ts # MariaDB pnpm test src/connectors/__tests__/mariadb.integration.test.ts # SQL Server pnpm test src/connectors/__tests__/sqlserver.integration.test.ts # SQLite pnpm test src/connectors/__tests__/sqlite.integration.test.ts # JSON RPC integration pnpm test src/__tests__/json-rpc-integration.test.ts
Troubleshooting
Container Startup Issues
If containers fail to start:
# Verify Docker is running docker ps # Check disk space docker system df # Manually pull images docker pull postgres:15-alpine docker pull mysql:8.0 docker pull mariadb:10.11 docker pull mcr.microsoft.com/mssql/server:2019-latest
SQL Server Timeout Issues
SQL Server containers require 3-5 minutes to start:
- Ensure Docker has 4GB+ memory allocated
- Run SQL Server tests separately:
pnpm test src/connectors/__tests__/sqlserver.integration.test.ts - Check timeout settings in test files
Debug Failed Tests
# Run with verbose output pnpm test:integration --reporter=verbose # Run specific test pattern pnpm test:integration -- --testNamePattern="PostgreSQL" # Check container logs docker logs <container_id>
Test Architecture
All integration tests follow this pattern:
- Container Lifecycle: Start database container → Connect → Setup test data → Run tests → Cleanup
- Shared Test Utilities: Common patterns in
classIntegrationTestBase - Database-Specific Features: Each database tests unique capabilities
- Error Handling: Comprehensive testing of connection errors, invalid SQL, edge cases
When to Use This Skill
Use this skill when:
- Asked to run tests or verify code changes
- Debugging test failures
- Setting up integration tests for new features
- Troubleshooting Docker or Testcontainers issues
- Adding new database connector tests
- Investigating CI/CD test failures
Related Files
- TESTING.md - Comprehensive testing documentation
- Integration test filessrc/connectors/__tests__/
- Vitest configurationvitest.config.ts
- CI/CD test workflows.github/workflows/