Claude Code Plugins

Community-maintained marketplace

Feedback
1.6k
0

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 Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name testing
description 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.

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:

  • pnpm test - Run all tests
  • pnpm test:watch - Run tests in watch mode
  • pnpm test:integration - Run integration tests (requires Docker)
  • pnpm test src/connectors/__tests__/{db-type}.integration.test.ts - Test specific database connector

Integration Testing

Integration tests use Testcontainers to run real database instances in Docker.

Prerequisites Checklist

Before running integration tests, verify:

  1. Docker is installed and running: docker ps
  2. Sufficient Docker memory allocated (4GB+ recommended)
  3. 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:

  1. Container Lifecycle: Start database container → Connect → Setup test data → Run tests → Cleanup
  2. Shared Test Utilities: Common patterns in IntegrationTestBase class
  3. Database-Specific Features: Each database tests unique capabilities
  4. 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
  • src/connectors/__tests__/ - Integration test files
  • vitest.config.ts - Vitest configuration
  • .github/workflows/ - CI/CD test workflows