- 1
#![allow(clippy::expect_used)] - 2
- 3
use std::time::Duration; - 4
use vak_delivery::client::WorkerClient; - 5
use vak_delivery::{ - 6
AnswerDraft, DeliveryContent, DeliveryJob, DeliveryKind, DeliveryPosture, DeliveryProfile, - 7
Markup, - 8
}; - 9
- 10
fn job(id: &str, markdown: &str) -> DeliveryJob { - 11
DeliveryJob { - 12
job_id: id.into(), - 13
target: "telegram:test".into(), - 14
kind: DeliveryKind::Assistant, - 15
content: DeliveryContent::Answer(AnswerDraft::from_markdown(markdown)), - 16
profile: DeliveryProfile { - 17
surface: "telegram".into(), - 18
markup: Markup::TelegramHtml, - 19
max_chars: Some(4000), - 20
supports_tables: false, - 21
supports_code_blocks: true, - 22
supports_links: true, - 23
supports_actions: false, - 24
template: None, - 25
posture: DeliveryPosture::default(), - 26
}, - 27
skill_registry: None, - 28
} - 29
} - 30
- 31
#[tokio::test] - 32
async fn persistent_worker_renders_multiple_jobs() { - 33
let worker = WorkerClient::new( - 34
env!("CARGO_BIN_EXE_vak-delivery-worker"), - 35
Duration::from_secs(3), - 36
); - 37
let first = worker - 38
.render(&job("worker-1", "# One\n\n**done**")) - 39
.await - 40
.expect("first render"); - 41
let second = worker - 42
.render(&job("worker-2", "# Two\n\n`ok`")) - 43
.await - 44
.expect("second render"); - 45
assert_eq!(first.job_id, "worker-1"); - 46
assert_eq!(second.job_id, "worker-2"); - 47
assert!(first.chunks[0].contains("<b>done</b>")); - 48
assert!(second.chunks[0].contains("<code>ok</code>")); - 49
} - 50
Indexing the workspace…
Vakyartha documentation is discovering safe artifacts, anchors, and source references.