pod: persist metadata workspace root

This commit is contained in:
2026-06-19 00:28:19 +09:00
parent 3b634d66ca
commit 160c96ad1e
2 changed files with 35 additions and 2 deletions
+20 -1
View File
@@ -72,10 +72,11 @@ where
let store = store.clone();
Arc::new(move |metadata| {
store
.set_active(
.set_active_with_workspace_root(
&metadata.pod_name,
metadata.active,
metadata.resolved_manifest_snapshot,
metadata.workspace_root,
)
.map(|_| ())
})
@@ -5236,6 +5237,24 @@ permission = "write"
mod pod_metadata_restore_manifest_tests {
use super::*;
#[test]
fn metadata_writer_persists_workspace_root_through_store_update() {
let temp = tempfile::tempdir().unwrap();
let store = pod_store::FsPodStore::new(temp.path().join("pods")).unwrap();
let workspace_root = temp.path().join("workspace-root");
std::fs::create_dir_all(&workspace_root).unwrap();
let writer = pod_metadata_writer_for_store(&store);
writer(PodMetadata::new("runtime-pod", None).with_workspace_root(workspace_root.clone()))
.unwrap();
let stored = store.read_by_name("runtime-pod").unwrap().unwrap();
assert_eq!(
stored.workspace_root.as_deref(),
Some(workspace_root.as_path())
);
}
#[test]
fn snapshot_preserves_saved_scope_over_current_manifest() {
let saved = PodManifest::from_toml(