Skip to content

Commit 92d44cf

Browse files
committed
core tests: migrate plan item turns to profiles
1 parent 21676dd commit 92d44cf

1 file changed

Lines changed: 57 additions & 95 deletions

File tree

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

Lines changed: 57 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ use codex_protocol::config_types::ModeKind;
66
use codex_protocol::config_types::Settings;
77
use codex_protocol::items::AgentMessageContent;
88
use codex_protocol::items::TurnItem;
9+
use codex_protocol::models::PermissionProfile;
910
use codex_protocol::models::WebSearchAction;
11+
use codex_protocol::protocol::AskForApproval;
1012
use codex_protocol::protocol::EventMsg;
1113
use codex_protocol::protocol::ItemCompletedEvent;
1214
use codex_protocol::protocol::ItemStartedEvent;
@@ -33,12 +35,42 @@ use core_test_support::responses::start_mock_server;
3335
use core_test_support::skip_if_no_network;
3436
use core_test_support::test_codex::TestCodex;
3537
use core_test_support::test_codex::test_codex;
38+
use core_test_support::test_codex::turn_permission_fields;
3639
use core_test_support::wait_for_event;
3740
use core_test_support::wait_for_event_match;
3841
use pretty_assertions::assert_eq;
3942
use std::path::Path;
4043
use std::path::PathBuf;
4144

45+
fn disabled_plan_turn(
46+
text: &str,
47+
model: String,
48+
collaboration_mode: CollaborationMode,
49+
) -> anyhow::Result<Op> {
50+
let cwd = std::env::current_dir()?;
51+
let (sandbox_policy, permission_profile) =
52+
turn_permission_fields(PermissionProfile::Disabled, cwd.as_path());
53+
Ok(Op::UserTurn {
54+
environments: None,
55+
items: vec![UserInput::Text {
56+
text: text.into(),
57+
text_elements: Vec::new(),
58+
}],
59+
final_output_json_schema: None,
60+
cwd,
61+
approval_policy: AskForApproval::Never,
62+
approvals_reviewer: None,
63+
sandbox_policy,
64+
permission_profile,
65+
model,
66+
effort: None,
67+
summary: None,
68+
service_tier: None,
69+
collaboration_mode: Some(collaboration_mode),
70+
personality: None,
71+
})
72+
}
73+
4274
fn image_generation_artifact_path(codex_home: &Path, session_id: &str, call_id: &str) -> PathBuf {
4375
fn sanitize(value: &str) -> String {
4476
let mut sanitized: String = value
@@ -529,25 +561,11 @@ async fn plan_mode_emits_plan_item_from_proposed_plan_block() -> anyhow::Result<
529561
};
530562

531563
codex
532-
.submit(Op::UserTurn {
533-
environments: None,
534-
items: vec![UserInput::Text {
535-
text: "please plan".into(),
536-
text_elements: Vec::new(),
537-
}],
538-
final_output_json_schema: None,
539-
cwd: std::env::current_dir()?,
540-
approval_policy: codex_protocol::protocol::AskForApproval::Never,
541-
approvals_reviewer: None,
542-
sandbox_policy: codex_protocol::protocol::SandboxPolicy::DangerFullAccess,
543-
permission_profile: None,
544-
model: session_configured.model.clone(),
545-
effort: None,
546-
summary: None,
547-
service_tier: None,
548-
collaboration_mode: Some(collaboration_mode),
549-
personality: None,
550-
})
564+
.submit(disabled_plan_turn(
565+
"please plan",
566+
session_configured.model.clone(),
567+
collaboration_mode,
568+
)?)
551569
.await?;
552570

553571
let plan_delta = wait_for_event_match(&codex, |ev| match ev {
@@ -608,25 +626,11 @@ async fn plan_mode_strips_plan_from_agent_messages() -> anyhow::Result<()> {
608626
};
609627

610628
codex
611-
.submit(Op::UserTurn {
612-
environments: None,
613-
items: vec![UserInput::Text {
614-
text: "please plan".into(),
615-
text_elements: Vec::new(),
616-
}],
617-
final_output_json_schema: None,
618-
cwd: std::env::current_dir()?,
619-
approval_policy: codex_protocol::protocol::AskForApproval::Never,
620-
approvals_reviewer: None,
621-
sandbox_policy: codex_protocol::protocol::SandboxPolicy::DangerFullAccess,
622-
permission_profile: None,
623-
model: session_configured.model.clone(),
624-
effort: None,
625-
summary: None,
626-
service_tier: None,
627-
collaboration_mode: Some(collaboration_mode),
628-
personality: None,
629-
})
629+
.submit(disabled_plan_turn(
630+
"please plan",
631+
session_configured.model.clone(),
632+
collaboration_mode,
633+
)?)
630634
.await?;
631635

632636
let mut agent_deltas = Vec::new();
@@ -719,25 +723,11 @@ async fn plan_mode_streaming_citations_are_stripped_across_added_deltas_and_done
719723
};
720724

721725
codex
722-
.submit(Op::UserTurn {
723-
environments: None,
724-
items: vec![UserInput::Text {
725-
text: "please plan with citations".into(),
726-
text_elements: Vec::new(),
727-
}],
728-
final_output_json_schema: None,
729-
cwd: std::env::current_dir()?,
730-
approval_policy: codex_protocol::protocol::AskForApproval::Never,
731-
approvals_reviewer: None,
732-
sandbox_policy: codex_protocol::protocol::SandboxPolicy::DangerFullAccess,
733-
permission_profile: None,
734-
model: session_configured.model.clone(),
735-
effort: None,
736-
summary: None,
737-
service_tier: None,
738-
collaboration_mode: Some(collaboration_mode),
739-
personality: None,
740-
})
726+
.submit(disabled_plan_turn(
727+
"please plan with citations",
728+
session_configured.model.clone(),
729+
collaboration_mode,
730+
)?)
741731
.await?;
742732

743733
let mut agent_started = None;
@@ -908,25 +898,11 @@ async fn plan_mode_streaming_proposed_plan_tag_split_across_added_and_delta_is_p
908898
};
909899

910900
codex
911-
.submit(Op::UserTurn {
912-
environments: None,
913-
items: vec![UserInput::Text {
914-
text: "please plan".into(),
915-
text_elements: Vec::new(),
916-
}],
917-
final_output_json_schema: None,
918-
cwd: std::env::current_dir()?,
919-
approval_policy: codex_protocol::protocol::AskForApproval::Never,
920-
approvals_reviewer: None,
921-
sandbox_policy: codex_protocol::protocol::SandboxPolicy::DangerFullAccess,
922-
permission_profile: None,
923-
model: session_configured.model.clone(),
924-
effort: None,
925-
summary: None,
926-
service_tier: None,
927-
collaboration_mode: Some(collaboration_mode),
928-
personality: None,
929-
})
901+
.submit(disabled_plan_turn(
902+
"please plan",
903+
session_configured.model.clone(),
904+
collaboration_mode,
905+
)?)
930906
.await?;
931907

932908
let mut agent_started = None;
@@ -1024,25 +1000,11 @@ async fn plan_mode_handles_missing_plan_close_tag() -> anyhow::Result<()> {
10241000
};
10251001

10261002
codex
1027-
.submit(Op::UserTurn {
1028-
environments: None,
1029-
items: vec![UserInput::Text {
1030-
text: "please plan".into(),
1031-
text_elements: Vec::new(),
1032-
}],
1033-
final_output_json_schema: None,
1034-
cwd: std::env::current_dir()?,
1035-
approval_policy: codex_protocol::protocol::AskForApproval::Never,
1036-
approvals_reviewer: None,
1037-
sandbox_policy: codex_protocol::protocol::SandboxPolicy::DangerFullAccess,
1038-
permission_profile: None,
1039-
model: session_configured.model.clone(),
1040-
effort: None,
1041-
summary: None,
1042-
service_tier: None,
1043-
collaboration_mode: Some(collaboration_mode),
1044-
personality: None,
1045-
})
1003+
.submit(disabled_plan_turn(
1004+
"please plan",
1005+
session_configured.model.clone(),
1006+
collaboration_mode,
1007+
)?)
10461008
.await?;
10471009

10481010
let mut plan_delta = None;

0 commit comments

Comments
 (0)