- Name: pactship
- Category: Contract Testing
- Language: Python
- Tests: 525
| Round | Type | Description | Tests |
|---|---|---|---|
| 0 | feat | Initial implementation: models, DSL, matchers, validator, verifier, contract I/O, CLI | 120 |
| 1 | feat | 16 matcher types (regex, range, UUID, email, ISO date, nullable) | 148 |
| 2 | feat | Contract diffing with breaking/non-breaking classification | 172 |
| 3 | feat | Filesystem-based broker with versioning and verification history | 198 |
| 4 | feat | Mock provider for consumer-side testing | 225 |
| 5 | feat | Contract linter enforcing REST best practices | 252 |
| 6 | feat | OpenAPI 3.x import and JSON Schema generation | 280 |
| 7 | feat | CRUD and endpoint-based contract generators | 308 |
| 8 | feat | Service dependency graph with Mermaid output | 335 |
| 9 | feat | Compatibility matrix for version tracking | 360 |
| 10 | feat | Multi-format reporting (JSON, JUnit XML, Markdown, TAP) | 385 |
| Round | Type | Description | Tests |
|---|---|---|---|
| 11 | feat | Contract statistics and complexity metrics | 405 |
| 12 | feat | Lifecycle hooks registry for verification events | 425 |
| 13 | feat | Contract transformation (paths, headers, bodies) | 445 |
| 14 | feat | Interaction filtering (method, path, tags) | 465 |
| 15 | feat | File and env var configuration with priority ordering | 480 |
| 16 | test | Edge case and integration tests | 495 |
| 17 | test | Async verifier and broker integration tests | 510 |
| 18 | test | Public API surface tests | 520 |
| 19 | docs | Comprehensive README with full API documentation | 525 |
| 20 | docs | CHANGELOG.md and ROUND_LOG.md | 525 |
pactship/
__init__.py # Public API exports (54 symbols)
models.py # Core data models (Contract, Interaction, Matcher, etc.)
dsl.py # Fluent builder DSL (ContractBuilder, InteractionBuilder)
matchers.py # 16 matcher types
validator.py # Contract structure validation
verifier.py # Async HTTP provider verification + MockProvider
contract_io.py # YAML/JSON serialization
schema.py # JSON Schema generation
diff.py # Contract version diffing
broker.py # Filesystem-based contract broker
cli.py # Click CLI (6 commands)
config.py # File + env var configuration
generator.py # Contract generators (CRUD, endpoints)
graph.py # Service dependency graph
matrix.py # Compatibility matrix
openapi.py # OpenAPI 3.x conversion
linter.py # Contract linting
reporting.py # Multi-format reports (JSON, JUnit, MD, TAP)
stats.py # Contract statistics
hooks.py # Lifecycle hooks
transform.py # Contract transformation
filters.py # Interaction filtering
- Total Tests: 525
- Source Files: 21
- Matcher Types: 16
- CLI Commands: 6
- Report Formats: 4 (JSON, JUnit XML, Markdown, TAP)