fix: complete managed hooks requirements tests

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
viyatb-oai
2026-04-07 14:48:50 -07:00
co-authored by Codex
parent c5decba321
commit 5ab034b859
3 changed files with 29 additions and 7 deletions
+1
View File
@@ -678,6 +678,7 @@ mod tests {
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
+16
View File
@@ -1157,6 +1157,7 @@ mod tests {
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1186,6 +1187,7 @@ mod tests {
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1215,6 +1217,7 @@ mod tests {
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1261,6 +1264,7 @@ mod tests {
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1343,6 +1347,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1415,6 +1420,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1485,6 +1491,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1649,6 +1656,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1684,6 +1692,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1739,6 +1748,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1789,6 +1799,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1843,6 +1854,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1898,6 +1910,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -1953,6 +1966,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -2041,6 +2055,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
@@ -2068,6 +2083,7 @@ enabled = false
allowed_approvals_reviewers: None,
allowed_sandbox_modes: None,
allowed_web_search_modes: None,
allow_managed_hooks_only: None,
guardian_developer_instructions: None,
feature_requirements: None,
mcp_servers: None,
+12 -7
View File
@@ -448,16 +448,16 @@ fn sse_event(event: Value) -> String {
sse(vec![event])
}
fn enable_managed_hooks_only(config: &mut Config) {
fn enable_managed_hooks_only(config: &mut Config) -> Result<()> {
let system_dir = config.codex_home.join("managed");
let system_config_file =
AbsolutePathBuf::from_absolute_path(system_dir.join(codex_config::CONFIG_TOML_FILE))
.expect("absolute managed config path");
.context("absolute managed config path")?;
let mut layers = config
.config_layer_stack
.get_layers(
codex_config::ConfigLayerStackOrdering::LowestPrecedenceFirst,
true,
/*include_disabled*/ true,
)
.into_iter()
.cloned()
@@ -473,12 +473,15 @@ fn enable_managed_hooks_only(config: &mut Config) {
);
let mut requirements = config.config_layer_stack.requirements().clone();
requirements.allow_managed_hooks_only =
Some(Sourced::new(true, RequirementSource::CloudRequirements));
requirements.allow_managed_hooks_only = Some(Sourced::new(
/*value*/ true,
RequirementSource::CloudRequirements,
));
let mut requirements_toml = config.config_layer_stack.requirements_toml().clone();
requirements_toml.allow_managed_hooks_only = Some(true);
config.config_layer_stack = ConfigLayerStack::new(layers, requirements, requirements_toml)
.expect("rebuild config layer stack with managed hooks requirement");
.context("rebuild config layer stack with managed hooks requirement")?;
Ok(())
}
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
@@ -545,7 +548,9 @@ async fn managed_hooks_only_skips_user_hooks() -> Result<()> {
.features
.enable(Feature::CodexHooks)
.expect("test config should allow feature update");
enable_managed_hooks_only(config);
if let Err(error) = enable_managed_hooks_only(config) {
panic!("failed to enable managed-hooks-only test config: {error:#}");
}
});
let test = builder.build(&server).await?;