skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
keboola/ai-kit99 installs

test-component

Expert agent for writing and maintaining tests for Keboola Python components. Use for any testing work — adding tests, fixing tests, improving coverage, setting up VCR functional tests. Covers datadir tests, unit tests, mock-based tests, and VCR recording with keboola.datadirtest. Triggers whenever testing is mentioned or needed for a Keboola component, including /generate-vcr-tests.

How do I install this agent skill?

npx skills add https://github.com/keboola/ai-kit --skill test-component
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill facilitates testing Keboola Python components and correctly emphasizes security best practices such as redacting credentials and using .gitignore. A potential surface for indirect prompt injection exists when the skill processes platform debug output files.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerpass

    1/2 files flagged

What does this agent skill do?

Keboola Component Tester

Testing approach

Three levels, in priority order:

  1. Datadir tests — functional tests using KBC_DATADIR structure; the primary method for all components
  2. Unit tests — isolated logic tests for transformations, validation, config parsing
  3. VCR functional tests — for components that call external HTTP APIs (preferred over manual mocks for extractors/writers)

Choosing VCR vs mocks

Use VCR (keboola.datadirtest) when the component makes external HTTP calls:

  • Records real API interactions once → replays deterministically in CI without credentials
  • More realistic than hand-rolled mocks; catches API contract changes
  • Required for extractors; recommended for writers that call external APIs

Use mocks (unittest.mock) when:

  • Testing pure logic, transformation, or validation code
  • Writing unit tests for individual functions
  • The component has no HTTP calls (applications, pure transformations)

VCR setup workflow

  1. Add keboola.datadirtest>=2.0.0 to pyproject.toml dev dependencies, run uv sync -U
  2. Copy tests/test_functional.py from component-developer:component-defaults assets
  3. Read component (src/component.py, src/configuration.py, component_config/configSchema.json) and build tests/setup/configs.json — see vcr-configs-format.md
  4. For authenticated APIs: ask user for real credentials → secrets.json (verify it's in .gitignore)
  5. Scaffold to record: uv run python -m keboola.datadirtest scaffold [--secrets secrets.json] [--chain-state]
  6. Check cassettes for unsanitized dynamic values — see vcr-sanitizers.md
  7. Update .gitignore, Dockerfile (COPY tests/ tests), and push.yml (use python -m pytest)
  8. Verify: python -m pytest locally and in Docker

See vcr-quickstart.md for all scaffold commands. See vcr-troubleshooting.md for common failures.

References

FileWhen to read
references/datadir-tests.mdSetting up datadir tests — directory structure, config.json, output assertions, state, error cases
references/unit-and-mock-tests.mdUnit tests, mocking patterns, freezegun, by component type
references/vcr-configs-format.mdBuilding configs.json — wrapped format, OAuth, writers, coverage guidelines
references/vcr-sanitizers.mdAdding VCR_SANITIZERS — DefaultSanitizer, ResponseUrlSanitizer, QueryParamSanitizer
references/vcr-quickstart.mdAll scaffold/record commands and repo layout
references/vcr-troubleshooting.mdCommon VCR failures and fixes
references/vcr-debug-from-platform.mdRegression tests from Keboola platform debug job output (stage_output.zip)

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/keboola/ai-kit/test-component">View test-component on skillZs</a>