forge_core/testing/context/
mod.rs1use crate::function::AuthContext;
10use std::collections::HashMap;
11use uuid::Uuid;
12
13mod cron;
14mod job;
15mod mutation;
16mod query;
17mod workflow;
18
19pub use cron::{TestCronContext, TestCronContextBuilder};
20pub use job::{TestJobContext, TestJobContextBuilder, TestProgressUpdate};
21pub use mutation::{TestMutationContext, TestMutationContextBuilder};
22pub use query::{TestQueryContext, TestQueryContextBuilder};
23pub use workflow::{TestWorkflowContext, TestWorkflowContextBuilder};
24
25pub(crate) fn build_test_auth(
28 user_id: Option<Uuid>,
29 roles: Vec<String>,
30 claims: HashMap<String, serde_json::Value>,
31) -> AuthContext {
32 if let Some(user_id) = user_id {
33 AuthContext::authenticated(user_id, roles, claims)
34 } else if claims.contains_key("sub") {
35 AuthContext::authenticated_without_uuid(roles, claims)
36 } else {
37 AuthContext::unauthenticated()
38 }
39}