This skill helps you set up integration tests with external services:
Use this skill when you need to:
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.
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.
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.
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
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 testingSetup scripts to initialize test environments:
scripts/setup_testcontainers.py - Configure testcontainers environmentscripts/init_wiremock.py - Initialize WireMock serverscripts/start_localstack.py - Start LocalStack servicesFor detailed setup and patterns, see:
This skill is designed SOLELY for legitimate integration testing purposes in isolated development environments.
For detailed security information, see SECURITY.md
共 1 个版本