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