46 lines
1.5 KiB
Rust
46 lines
1.5 KiB
Rust
//! Legacy process callback events are diagnostics only after Internal SubWorker migration.
|
|
|
|
use std::sync::Arc;
|
|
|
|
use protocol::{Permission, ScopeRule, WorkerEvent};
|
|
use tempfile::TempDir;
|
|
use worker::ipc::event::{apply_event_side_effects, render_event};
|
|
use worker::runtime::dir::RuntimeDir;
|
|
use worker::spawn::registry::SpawnedWorkerRegistry;
|
|
|
|
#[test]
|
|
fn render_event_keeps_bounded_legacy_diagnostics() {
|
|
let rendered = render_event(&WorkerEvent::Errored {
|
|
worker_name: "legacy-child".into(),
|
|
message: "boom".into(),
|
|
});
|
|
assert!(rendered.contains("legacy-child"));
|
|
assert!(rendered.contains("boom"));
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn legacy_callback_cannot_register_process_subworker_authority() {
|
|
let runtime_base = TempDir::new().unwrap();
|
|
let runtime_dir = Arc::new(
|
|
RuntimeDir::create(runtime_base.path(), "parent")
|
|
.await
|
|
.unwrap(),
|
|
);
|
|
let registry = SpawnedWorkerRegistry::new(runtime_dir.clone());
|
|
let scope_root = TempDir::new().unwrap();
|
|
let event = WorkerEvent::ScopeSubDelegated {
|
|
parent_worker: "legacy-parent".into(),
|
|
sub_worker: "legacy-child".into(),
|
|
sub_socket: "/tmp/legacy-child.sock".into(),
|
|
scope: vec![ScopeRule {
|
|
target: scope_root.path().to_path_buf(),
|
|
permission: Permission::Write,
|
|
recursive: true,
|
|
}],
|
|
};
|
|
|
|
apply_event_side_effects(&event, ®istry, "parent", &None).await;
|
|
|
|
assert!(!runtime_dir.path().join("spawned_workers.json").exists());
|
|
}
|