AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Api Testing

skill-int2t05-engineering-skills-api-testing · by int2t05

Use when testing APIs or designing API test strategies — contract testing, REST/GraphQL testing, and integration testing. Triggers on "test API", "contract testing", "integration test", "API 测试", "接口测试", "契约测试".

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add skill-int2t05-engineering-skills-api-testing

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-int2t05-engineering-skills-api-testing)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
19d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Api Testing? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

API Testing Patterns

API testing verifies contracts and behavior from the consumer perspective — correct responses, proper error handling, acceptable performance. Focus on what matters to consumers, not implementation details.

When to use

  • Testing REST or GraphQL APIs
  • Validating microservice contracts
  • Designing API test strategies
  • Preventing breaking API changes
  • Triggers on "test API", "contract testing", "integration test", "API 测试", "接口测试", "契约测试"

Not for: generating test scaffolds for non-API code (use test-generation); browser/E2E flows (use e2e-testing); the TDD loop itself (use tdd).

Steps

1. Identify the testing level

| Level | Purpose | Dependencies | Speed | |-------|---------|--------------|-------| | Contract | Provider-consumer agreement | None | Fast | | Component | API in isolation | Mocked external deps | Fast | | Integration | Real dependencies | Database, services | Slower |

2. Test the contract, not implementation

Test from the consumer perspective using schema validation, not exact values. Consumers depend on the contract (status codes, response shape); they don't care about internal structure.

Pattern — Consumer-Driven Contracts: schema validation against the contract (status codes, response shape), not exact values — code example in [references/templates/api-test-scaffold.md](references/templates/api-test-scaffold.md). Use Pact or Spring Cloud Contract for consumer-driven contract testing in microservice architectures.

3. Cover critical scenarios

| Scenario | Must test | Example | |----------|----------|---------| | Auth | 401/403 handling | Expired token, wrong user, cross-user access | | Input | 400 validation | Missing fields, wrong types, out-of-range values | | Errors | 500 graceful handling | DB down, timeout, upstream failure | | Idempotency | Duplicate prevention | Same idempotency key → same result | | Concurrency | Race conditions | Parallel checkout on shared inventory |

Idempotency: send the same request twice with an Idempotency-Key header; both responses must return the same orderId (no duplicate created).

4. REST CRUD pattern

Test the full resource lifecycle — CREATE, READ, UPDATE, DELETE — as a sequence that proves each operation and its side effects. Code example in [references/templates/api-test-scaffold.md](references/templates/api-test-scaffold.md).

5. GraphQL-specific checks

  • Query validation: reject invalid queries, enforce typed schemas
  • Complexity limits: prevent abusive nested queries (depth/complexity analysis)
  • Introspection: test against staging schema (production may disable it)

6. Automate and monitor

Automate all API tests in CI/CD with schema validation. Version API tests alongside the API to prevent breaking changes. Monitor production APIs for contract drift between deployed behavior and the spec.

Best practices

Do:

  • Test from consumer perspective
  • Use schema validation (not exact field values)
  • Test error scenarios extensively — not just happy paths
  • Version API tests with the API
  • Mock external services to keep tests fast and deterministic

Avoid:

  • Testing implementation, not contract
  • Ignoring HTTP semantics (status codes)
  • No negative testing
  • Asserting on field order or extra fields
  • Slow tests (mock external services)

Gotchas

  • Tests generated against the documented API must be validated against the

running service first — docs and reality drift

  • Auth tokens expire between runs — use fixtures with refresh logic
  • Rate limiting in CI causes intermittent 429s — add retry with exponential

backoff

  • Idempotency tests need unique request IDs per run — hardcoded IDs cause false

passes on retry

  • GraphQL introspection may be disabled in production — test against staging

Output: API test files (contract + integration) under test/ — code, not a report.

Verify

  • [ ] Contract tests cover every consumer expectation
  • [ ] Auth: 401 without token, 403 for wrong user, expired token rejected
  • [ ] Input validation: missing fields, wrong types, out-of-range values → 400
  • [ ] Error states: 500 graceful, timeout handled
  • [ ] Idempotency: duplicate request with same key → same result
  • [ ] REST resources tested across full CRUD lifecycle
  • [ ] Tests automated in CI with schema validation

References

  • [${CLAUDEPLUGINROOT}/references/engineering-principles.md](${CLAUDEPLUGINROOT}/references/engineering-principles.md) — discipline every skill shares
  • [references/templates/api-test-scaffold.md](references/templates/api-test-scaffold.md) — REST API test scaffold template (Jest/Supertest)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.