Skip to content

Commit 1803bb3

Browse files
committed
core tests: send model turns with permission profiles
1 parent 8a22990 commit 1803bb3

2 files changed

Lines changed: 22 additions & 16 deletions

File tree

codex-rs/core/tests/suite/remote_models.rs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use codex_models_manager::bundled_models_response;
88
use codex_models_manager::manager::RefreshStrategy;
99
use codex_models_manager::manager::SharedModelsManager;
1010
use codex_protocol::config_types::ReasoningSummary;
11+
use codex_protocol::models::PermissionProfile;
1112
use codex_protocol::openai_models::ConfigShellToolType;
1213
use codex_protocol::openai_models::ModelInfo;
1314
use codex_protocol::openai_models::ModelPreset;
@@ -21,7 +22,6 @@ use codex_protocol::protocol::AskForApproval;
2122
use codex_protocol::protocol::EventMsg;
2223
use codex_protocol::protocol::ExecCommandSource;
2324
use codex_protocol::protocol::Op;
24-
use codex_protocol::protocol::SandboxPolicy;
2525
use codex_protocol::user_input::UserInput;
2626
use core_test_support::load_default_config_for_test;
2727
use core_test_support::responses::ev_assistant_message;
@@ -37,6 +37,7 @@ use core_test_support::skip_if_no_network;
3737
use core_test_support::skip_if_sandbox;
3838
use core_test_support::test_codex::TestCodex;
3939
use core_test_support::test_codex::test_codex;
40+
use core_test_support::test_codex::turn_permission_fields;
4041
use core_test_support::wait_for_event;
4142
use core_test_support::wait_for_event_match;
4243
use pretty_assertions::assert_eq;
@@ -627,18 +628,21 @@ async fn remote_models_remote_model_uses_unified_exec() -> Result<()> {
627628
];
628629
mount_sse_sequence(&server, responses).await;
629630

631+
let cwd_path = cwd.path().to_path_buf();
632+
let (sandbox_policy, permission_profile) =
633+
turn_permission_fields(PermissionProfile::Disabled, cwd_path.as_path());
630634
codex
631635
.submit(Op::UserTurn {
632636
items: vec![UserInput::Text {
633637
text: "run call".into(),
634638
text_elements: Vec::new(),
635639
}],
636640
final_output_json_schema: None,
637-
cwd: cwd.path().to_path_buf(),
641+
cwd: cwd_path,
638642
approval_policy: AskForApproval::Never,
639643
approvals_reviewer: None,
640-
sandbox_policy: SandboxPolicy::DangerFullAccess,
641-
permission_profile: None,
644+
sandbox_policy,
645+
permission_profile,
642646
model: REMOTE_MODEL_SLUG.to_string(),
643647
effort: None,
644648
summary: Some(ReasoningSummary::Auto),
@@ -855,18 +859,21 @@ async fn remote_models_apply_remote_base_instructions() -> Result<()> {
855859
})
856860
.await?;
857861

862+
let cwd_path = cwd.path().to_path_buf();
863+
let (sandbox_policy, permission_profile) =
864+
turn_permission_fields(PermissionProfile::Disabled, cwd_path.as_path());
858865
codex
859866
.submit(Op::UserTurn {
860867
items: vec![UserInput::Text {
861868
text: "hello remote".into(),
862869
text_elements: Vec::new(),
863870
}],
864871
final_output_json_schema: None,
865-
cwd: cwd.path().to_path_buf(),
872+
cwd: cwd_path,
866873
approval_policy: AskForApproval::Never,
867874
approvals_reviewer: None,
868-
sandbox_policy: SandboxPolicy::DangerFullAccess,
869-
permission_profile: None,
875+
sandbox_policy,
876+
permission_profile,
870877
model: model.to_string(),
871878
effort: None,
872879
summary: Some(ReasoningSummary::Auto),

codex-rs/core/tests/suite/responses_api_proxy_headers.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
use anyhow::Result;
55
use anyhow::anyhow;
66
use codex_features::Feature;
7+
use codex_protocol::models::PermissionProfile;
78
use codex_protocol::protocol::AskForApproval;
89
use codex_protocol::protocol::EventMsg;
910
use codex_protocol::protocol::Op;
10-
use codex_protocol::protocol::SandboxPolicy;
1111
use codex_protocol::user_input::UserInput;
1212
use core_test_support::responses::ResponseMock;
1313
use core_test_support::responses::ResponsesRequest;
@@ -21,6 +21,7 @@ use core_test_support::responses::start_mock_server;
2121
use core_test_support::skip_if_no_network;
2222
use core_test_support::test_codex::TestCodex;
2323
use core_test_support::test_codex::test_codex;
24+
use core_test_support::test_codex::turn_permission_fields;
2425
use pretty_assertions::assert_eq;
2526
use serde_json::json;
2627
use std::time::Duration;
@@ -125,6 +126,9 @@ async fn responses_api_parent_and_subagent_requests_include_identity_headers() -
125126

126127
async fn submit_turn_with_timeout(test: &TestCodex, prompt: &str) -> Result<()> {
127128
let session_model = test.session_configured.model.clone();
129+
let cwd = test.config.cwd.to_path_buf();
130+
let (sandbox_policy, permission_profile) =
131+
turn_permission_fields(PermissionProfile::workspace_write(), cwd.as_path());
128132
test.codex
129133
.submit(Op::UserTurn {
130134
environments: None,
@@ -133,16 +137,11 @@ async fn submit_turn_with_timeout(test: &TestCodex, prompt: &str) -> Result<()>
133137
text_elements: Vec::new(),
134138
}],
135139
final_output_json_schema: None,
136-
cwd: test.config.cwd.to_path_buf(),
140+
cwd,
137141
approval_policy: AskForApproval::OnRequest,
138142
approvals_reviewer: None,
139-
sandbox_policy: SandboxPolicy::WorkspaceWrite {
140-
writable_roots: Vec::new(),
141-
network_access: false,
142-
exclude_tmpdir_env_var: false,
143-
exclude_slash_tmp: false,
144-
},
145-
permission_profile: None,
143+
sandbox_policy,
144+
permission_profile,
146145
model: session_model,
147146
effort: None,
148147
summary: None,

0 commit comments

Comments
 (0)