mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
Stage 4 consumer migration: rewrite test fixtures across fabro-cli
integration tests and the repo's own fabro.toml + workflow.toml files
to use the v2 namespaced schema.
Fixtures migrated:
- repo fabro.toml: [fabro] root → [project] directory, [pull_request]
→ [run.pull_request], [sandbox] → [run.sandbox], daytona labels
and snapshot moved under [run.sandbox.daytona], [[hooks]] →
[[run.hooks]] with id, integer memory/disk → '8GB'/'20GB' Size
values
- fabro/workflows/{implement-issue,implement-plan,gh-triage,smoke}/
workflow.toml: version → _version, [github] →
[server.integrations.github]
- fabro-cli integration tests: config.rs (settings/external fixtures),
repo.rs, repo_init.rs, runner.rs, run.rs, store_dump.rs,
workflow.rs, workflow_create.rs, support.rs
- fabro-server run_manifest.rs: prepare_manifest test constructs v2
manifest configs (run.prepare.steps + server.integrations.github)
and updated assertion to reflect v2 whole-list replacement of
run.prepare.steps across layers
Validate command tests all green; ~10 tests remain that need targeted
fixes for specific behaviors that shifted between schemas.
63 lines
1.7 KiB
Rust
63 lines
1.7 KiB
Rust
use fabro_test::{fabro_snapshot, test_context};
|
|
|
|
#[test]
|
|
fn help() {
|
|
let context = test_context!();
|
|
let mut cmd = context.command();
|
|
cmd.args(["workflow", "--help"]);
|
|
fabro_snapshot!(context.filters(), cmd, @"
|
|
success: true
|
|
exit_code: 0
|
|
----- stdout -----
|
|
Workflow operations
|
|
|
|
Usage: fabro workflow [OPTIONS] <COMMAND>
|
|
|
|
Commands:
|
|
list List available workflows
|
|
create Create a new workflow
|
|
help Print this message or the help of the given subcommand(s)
|
|
|
|
Options:
|
|
--json Output as JSON [env: FABRO_JSON=]
|
|
--debug Enable DEBUG-level logging (default is INFO) [env: FABRO_DEBUG=]
|
|
--no-upgrade-check Disable automatic upgrade check [env: FABRO_NO_UPGRADE_CHECK=true]
|
|
--quiet Suppress non-essential output [env: FABRO_QUIET=]
|
|
--verbose Enable verbose output [env: FABRO_VERBOSE=]
|
|
-h, --help Print help
|
|
----- stderr -----
|
|
");
|
|
}
|
|
|
|
#[test]
|
|
fn list() {
|
|
let context = test_context!();
|
|
|
|
context
|
|
.write_temp(
|
|
"fabro.toml",
|
|
"_version = 1\n\n[project]\ndirectory = \".\"\n",
|
|
)
|
|
.write_temp(
|
|
"workflows/my_test_wf/workflow.toml",
|
|
"_version = 1\n\n[run]\ngoal = \"A test workflow\"\n",
|
|
);
|
|
|
|
let mut cmd = context.command();
|
|
cmd.args(["workflow", "list"]);
|
|
fabro_snapshot!(context.filters(), cmd, @"
|
|
success: true
|
|
exit_code: 0
|
|
----- stdout -----
|
|
----- stderr -----
|
|
1 workflow(s) found
|
|
|
|
User Workflows (~/.fabro/workflows)
|
|
(none)
|
|
|
|
Project Workflows (workflows)
|
|
|
|
NAME DESCRIPTION
|
|
my_test_wf A test workflow
|
|
");
|
|
}
|