Integration Testing
/install integration-testing
Integration Testing with External Services
Quick Start
This skill helps you set up integration tests with external services:
- Testcontainers: Run real services in Docker containers for testing
- WireMock: Mock HTTP services and APIs
- LocalStack: Local AWS services (S3) for testing without AWS dependency
- SFTP: Integration testing with SFTP servers
When to Use This Skill
Use this skill when you need to:
- Set up integration tests with external services
- Test applications against real databases/message queues in isolation
- Mock HTTP APIs for reliable testing
- Test S3 integration without using real AWS resources
- Configure automated integration test environments
Setup Options
Testcontainers Setup
For integration tests with real services:
# Basic testcontainers example
from testcontainers.postgres import PostgresContainer
def test_with_postgres():
with PostgresContainer("postgres:15") as postgres:
connection_string = postgres.get_connection_url()
# Run tests with real PostgreSQL
See testcontainers-guide.md for detailed setup.
WireMock Setup
For mocking HTTP services:
# WireMock configuration example
from wiremock import WireMockServer
def test_with_wiremock():
with WireMockServer() as wiremock:
wiremock.stub_for(
request_method="GET",
request_url="/api/users",
response_body='{"users": []}'
)
# Test against mocked API
See wiremock-patterns.md for common patterns.
LocalStack Setup
For testing S3 without AWS:
# LocalStack S3 testing example
import boto3
from localstack import start_localstack
def test_s3_with_localstack():
with start_localstack(services=["s3"]) as localstack:
s3 = boto3.client('s3', endpoint_url=localstack.endpoint_url)
# Test S3 operations locally
See localstack-s3-config.md for S3 configuration.
SFTP Integration Testing
For testing SFTP connectivity and operations:
# SFTP integration test example
from paramiko import SSHClient
def test_sftp_operations():
with SSHClient() as ssh:
ssh.connect('sftp-server', username='test', password='test')
sftp = ssh.open_sftp()
# Test SFTP file operations
Available Templates
Ready-to-use test templates for common scenarios:
templates/testcontainers-python.py- Python testcontainers setuptemplates/wiremock-http-tests.py- WireMock HTTP API teststemplates/localstack-s33-tests.py- LocalStack S3 integration teststemplates/sftp-integration-tests.py- SFTP integration testing
Helper Scripts
Setup scripts to initialize test environments:
scripts/setup_testcontainers.py- Configure testcontainers environmentscripts/init_wiremock.py- Initialize WireMock serverscripts/start_localstack.py- Start LocalStack services
Best Practices
- Container Management: Always use context managers for container lifecycle
- Port Conflicts: Configure ports to avoid conflicts with local services
- Cleanup: Ensure proper cleanup of resources in test teardown
- Environment Variables: Use env vars for configuration, avoid hardcoded values
- Parallel Testing: Design tests to run in parallel where possible
Getting Help
For detailed setup and patterns, see:
Security & Compliance
This skill is designed SOLELY for legitimate integration testing purposes in isolated development environments.
⚠️ Important Security Notes
- Development Use Only: Never deploy test containers or services to production networks
- Isolated Environments: All services run locally and are destroyed after testing
- Educational Purpose: Designed to teach proper testing methodologies
- Full Transparency: Source code is fully visible and auditable
For detailed security information, see SECURITY.md
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install integration-testing - After installation, invoke the skill by name or use
/integration-testing - Provide required inputs per the skill's parameter spec and get structured output
What is Integration Testing?
Automated integration testing with external services using testcontainers, wiremock, localstack. Use when developer needs to set up integration tests for tes... It is an AI Agent Skill for Claude Code / OpenClaw, with 73 downloads so far.
How do I install Integration Testing?
Run "/install integration-testing" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Integration Testing free?
Yes, Integration Testing is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Integration Testing support?
Integration Testing is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Integration Testing?
It is built and maintained by ahmed181283 (@ahmed181283); the current version is v1.0.1.