Merge branch 'resume-scope-claim' into develop
# Conflicts: # TODO.md
This commit is contained in:
@@ -80,3 +80,31 @@ async fn restore_from_manifest_rejects_empty_session_log() {
|
||||
Ok(_) => panic!("expected empty session log to fail"),
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn restore_from_manifest_rejects_session_without_scope_snapshot() {
|
||||
let _lock = ENV_LOCK.lock().unwrap_or_else(|e| e.into_inner());
|
||||
|
||||
let store_tmp = tempfile::tempdir().unwrap();
|
||||
let store = FsStore::new(store_tmp.path()).await.unwrap();
|
||||
let manifest = pod::PodManifest::from_toml(MINIMAL_MANIFEST_TOML).unwrap();
|
||||
|
||||
let id = session_store::new_session_id();
|
||||
let state = session_store::SessionStartState {
|
||||
system_prompt: None,
|
||||
config: &Default::default(),
|
||||
history: &[],
|
||||
};
|
||||
session_store::create_session_with_id(&store, id, state)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let result =
|
||||
Pod::restore_from_manifest(id, manifest, store, pod::PromptLoader::builtins_only()).await;
|
||||
|
||||
match result {
|
||||
Err(PodError::SessionScopeMissing { session_id }) => assert_eq!(session_id, id),
|
||||
Err(other) => panic!("expected SessionScopeMissing, got {other:?}"),
|
||||
Ok(_) => panic!("expected missing scope snapshot to fail"),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,6 +187,7 @@ async fn spawn_pod_delegates_scope_and_sends_run() {
|
||||
None,
|
||||
dummy_model(),
|
||||
spawner_scope.clone(),
|
||||
std::sync::Arc::new(|_| {}),
|
||||
);
|
||||
let (_meta, tool) = def();
|
||||
|
||||
@@ -275,6 +276,7 @@ async fn spawn_pod_rejects_scope_outside_spawner() {
|
||||
None,
|
||||
dummy_model(),
|
||||
spawner_scope.clone(),
|
||||
std::sync::Arc::new(|_| {}),
|
||||
);
|
||||
let (_meta, tool) = def();
|
||||
|
||||
@@ -346,6 +348,7 @@ async fn spawn_pod_rolls_back_reservation_when_socket_never_appears() {
|
||||
None,
|
||||
dummy_model(),
|
||||
spawner_scope.clone(),
|
||||
std::sync::Arc::new(|_| {}),
|
||||
);
|
||||
let (_meta, tool) = def();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user