ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

integration-testing

Automated integration testing with external services using testcontainers, wiremock, localstack. Use when developer needs to set up integration tests for testing with real services in Docker containers via testcontainers, mocking HTTP APIs with WireMock, testing AWS S3 with LocalStack, SFTP integration testing, or setting up complex integration test environments with external dependencies.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/ahmed181283/integration-testing
Or

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 setup
  • templates/wiremock-http-tests.py - WireMock HTTP API tests
  • templates/localstack-s33-tests.py - LocalStack S3 integration tests
  • templates/sftp-integration-tests.py - SFTP integration testing

Helper Scripts

Setup scripts to initialize test environments:

Metadata

Stars4473
Views0
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-ahmed181283-integration-testing": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.