use std::cell::RefCell;
thread_local! {
static CURRENT_TEST_RUN_ID: RefCell<Option<String>> = const { RefCell::new(None) };
}
pub fn set_test_run_id(id: Option<String>) {
CURRENT_TEST_RUN_ID.with(|cell| *cell.borrow_mut() = id);
}
pub fn current_test_run_id() -> Option<String> {
CURRENT_TEST_RUN_ID.with(|cell| cell.borrow().clone())
}
pub(crate) fn current_test_context() -> Option<prost_types::Struct> {
current_test_run_id().map(|id| {
let mut fields = ::std::collections::BTreeMap::new();
fields.insert(
"testRunId".to_string(),
prost_types::Value {
kind: Some(prost_types::value::Kind::StringValue(id)),
},
);
prost_types::Struct { fields }
})
}