+ }
+
+ // TODO: would be nice if we didnt have to use a full context for tests.
+ pub(crate) async fn init_context() -> Data<LemmyContext> {
+ // call this to run migrations
+ let pool = build_db_pool_for_tests().await;
+
+ let settings = SETTINGS.clone();
+ let client = Client::builder()
+ .user_agent(build_user_agent(&settings))
+ .build()
+ .unwrap();
+
+ let client = ClientBuilder::new(client).with(BlockedMiddleware).build();
+ let secret = Secret {
+ id: 0,
+ jwt_secret: String::new(),
+ };
+
+ let rate_limit_config = RateLimitConfig::builder().build();
+ let rate_limit_cell = RateLimitCell::new(rate_limit_config).await;
+
+ let context = LemmyContext::create(pool, client, secret, rate_limit_cell.clone());
+ let config = FederationConfig::builder()
+ .domain("example.com")
+ .app_data(context)
+ .build()
+ .await
+ .unwrap();
+ config.to_request_data()