Capability Spec
apiVersion: naftiko.dev/v1
kind: Capability
metadata:
name: seed-test-fixtures
title: Generate Deterministic Test Fixtures
description: |
Workflow capability that uses RandomUser to produce a reproducible batch of
synthetic users for application test suites. Locks `seed`, `page`, `results`,
and pinned version so the same fixture set comes back every run.
provider: randomuser
spec:
steps:
- name: request-fixture-batch
capability: randomuser-users
operation: generateUsersVersioned
params:
version: "1.4"
seed: "{{ workflow.seed }}"
results: "{{ workflow.batchSize | default: 50 }}"
page: "{{ workflow.page | default: 1 }}"
nat: "{{ workflow.nationalities | default: 'us,gb,fr,de' }}"
exc: login
capture:
users: $.results
info: $.info
- name: emit-fixture
kind: output
payload:
seed: "{{ steps.request-fixture-batch.info.seed }}"
count: "{{ steps.request-fixture-batch.info.results }}"
users: "{{ steps.request-fixture-batch.users }}"
guarantees:
- Same (seed, page, results, version) returns identical users across runs.
- No credentials required; safe for ephemeral CI runners.