mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-10 03:30:59 +00:00
drop cli and features resolve wrappers
This commit is contained in:
parent
43d32464a2
commit
916b97c0ad
5 changed files with 27 additions and 44 deletions
|
|
@ -36,9 +36,8 @@ pub use load::{
|
|||
};
|
||||
pub use parse::{ParseError, parse_settings_layer};
|
||||
pub use resolve::{
|
||||
ResolveError, dev_token_auth_enabled, resolve_cli, resolve_cli_from_file, resolve_features,
|
||||
resolve_features_from_file, resolve_project, resolve_run, resolve_server,
|
||||
resolve_server_from_file, resolve_workflow,
|
||||
ResolveError, dev_token_auth_enabled, resolve_cli, resolve_features, resolve_project,
|
||||
resolve_run, resolve_server, resolve_server_from_file, resolve_workflow,
|
||||
};
|
||||
use serde::de::DeserializeOwned;
|
||||
pub use storage::{RunScratch, RuntimeDirectory, Storage};
|
||||
|
|
|
|||
|
|
@ -8,9 +8,7 @@ mod workflow;
|
|||
|
||||
pub use cli::resolve_cli;
|
||||
pub use error::ResolveError;
|
||||
use fabro_types::settings::{
|
||||
CliNamespace, FeaturesNamespace, InterpString, ServerNamespace, SettingsLayer,
|
||||
};
|
||||
use fabro_types::settings::{InterpString, ServerNamespace, SettingsLayer};
|
||||
pub use features::resolve_features;
|
||||
pub use project::resolve_project;
|
||||
pub use run::resolve_run;
|
||||
|
|
@ -19,13 +17,6 @@ pub use workflow::resolve_workflow;
|
|||
|
||||
use crate::apply_builtin_defaults;
|
||||
|
||||
pub fn resolve_cli_from_file(file: &SettingsLayer) -> Result<CliNamespace, Vec<ResolveError>> {
|
||||
let layer = apply_builtin_defaults(file.clone());
|
||||
let mut errors = Vec::new();
|
||||
let value = resolve_cli(&layer.cli.clone().unwrap_or_default(), &mut errors);
|
||||
finish(value, errors)
|
||||
}
|
||||
|
||||
pub fn resolve_server_from_file(
|
||||
file: &SettingsLayer,
|
||||
) -> Result<ServerNamespace, Vec<ResolveError>> {
|
||||
|
|
@ -35,15 +26,6 @@ pub fn resolve_server_from_file(
|
|||
finish(value, errors)
|
||||
}
|
||||
|
||||
pub fn resolve_features_from_file(
|
||||
file: &SettingsLayer,
|
||||
) -> Result<FeaturesNamespace, Vec<ResolveError>> {
|
||||
let layer = apply_builtin_defaults(file.clone());
|
||||
let mut errors = Vec::new();
|
||||
let value = resolve_features(&layer.features.clone().unwrap_or_default(), &mut errors);
|
||||
finish(value, errors)
|
||||
}
|
||||
|
||||
pub(crate) fn require_interp(
|
||||
value: Option<&InterpString>,
|
||||
path: &str,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
reason = "sync test fixture setup; not on a Tokio path"
|
||||
)]
|
||||
|
||||
use fabro_config::{parse_settings_layer, resolve_cli_from_file};
|
||||
use fabro_config::{UserSettingsBuilder, parse_settings_layer};
|
||||
use fabro_types::settings::cli::{CliTargetSettings, OutputFormat, OutputVerbosity};
|
||||
use fabro_types::settings::run::AgentPermissions;
|
||||
use fabro_types::settings::{InterpString, SettingsLayer};
|
||||
|
|
@ -13,7 +13,9 @@ use temp_env::with_var;
|
|||
fn resolves_cli_defaults_from_empty_settings() {
|
||||
let settings = SettingsLayer::default();
|
||||
|
||||
let cli = resolve_cli_from_file(&settings).expect("empty settings should resolve");
|
||||
let cli = UserSettingsBuilder::from_layer(&settings)
|
||||
.expect("empty settings should resolve")
|
||||
.cli;
|
||||
|
||||
assert!(cli.target.is_none());
|
||||
assert_eq!(cli.output.format, OutputFormat::Text);
|
||||
|
|
@ -43,14 +45,12 @@ session_sandboxes = true
|
|||
.expect("user settings should resolve");
|
||||
|
||||
assert_eq!(
|
||||
user_settings.cli,
|
||||
resolve_cli_from_file(&settings).expect("cli namespace should resolve")
|
||||
);
|
||||
assert_eq!(
|
||||
user_settings.features,
|
||||
fabro_config::resolve_features_from_file(&settings)
|
||||
.expect("features namespace should resolve")
|
||||
user_settings.cli.target,
|
||||
Some(CliTargetSettings::Http {
|
||||
url: InterpString::parse("https://config.example.com"),
|
||||
})
|
||||
);
|
||||
assert!(user_settings.features.session_sandboxes);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
@ -128,7 +128,9 @@ level = "debug"
|
|||
)
|
||||
.expect("fixture should parse");
|
||||
|
||||
let cli = resolve_cli_from_file(&settings).expect("cli settings should resolve");
|
||||
let cli = UserSettingsBuilder::from_layer(&settings)
|
||||
.expect("cli settings should resolve")
|
||||
.cli;
|
||||
|
||||
let CliTargetSettings::Http { url } = cli.target.expect("target") else {
|
||||
panic!("expected http target");
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
use fabro_config::{parse_settings_layer, resolve_features_from_file};
|
||||
use fabro_config::{UserSettingsBuilder, parse_settings_layer};
|
||||
use fabro_types::settings::SettingsLayer;
|
||||
|
||||
#[test]
|
||||
fn resolves_features_defaults_from_empty_settings() {
|
||||
let settings = SettingsLayer::default();
|
||||
|
||||
let features = resolve_features_from_file(&settings).expect("empty settings should resolve");
|
||||
let features = UserSettingsBuilder::from_layer(&settings)
|
||||
.expect("empty settings should resolve")
|
||||
.features;
|
||||
|
||||
assert!(!features.session_sandboxes);
|
||||
}
|
||||
|
|
@ -22,7 +24,9 @@ session_sandboxes = true
|
|||
)
|
||||
.expect("fixture should parse");
|
||||
|
||||
let features = resolve_features_from_file(&settings).expect("features should resolve");
|
||||
let features = UserSettingsBuilder::from_layer(&settings)
|
||||
.expect("features should resolve")
|
||||
.features;
|
||||
|
||||
assert!(features.session_sandboxes);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,16 +94,12 @@ session_sandboxes = true
|
|||
|
||||
let context = fabro_config::ServerSettingsBuilder::from_layer(&settings)
|
||||
.expect("settings should resolve");
|
||||
let user_settings = fabro_config::UserSettingsBuilder::from_layer(&settings)
|
||||
.expect("user settings should resolve");
|
||||
|
||||
assert_eq!(
|
||||
context.server,
|
||||
fabro_config::resolve_server_from_file(&settings).expect("server namespace should resolve")
|
||||
);
|
||||
assert_eq!(
|
||||
context.features,
|
||||
fabro_config::resolve_features_from_file(&settings)
|
||||
.expect("features namespace should resolve")
|
||||
);
|
||||
assert_eq!(context.server.storage.root.as_source(), "/srv/fabro");
|
||||
assert!(context.features.session_sandboxes);
|
||||
assert_eq!(context.features, user_settings.features);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue