mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-14 11:34:08 +00:00
send activities sync for tests
This commit is contained in:
parent
a455e8c0ab
commit
f33577b317
|
@ -8,6 +8,7 @@ export LEMMY_SETUP__ADMIN_PASSWORD=lemmy
|
||||||
export LEMMY_RATE_LIMIT__POST=99999
|
export LEMMY_RATE_LIMIT__POST=99999
|
||||||
export LEMMY_RATE_LIMIT__REGISTER=99999
|
export LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
export LEMMY_CAPTCHA__ENABLED=false
|
export LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
export LEMMY_TEST_SEND_SYNC=1
|
||||||
export RUST_BACKTRACE=1
|
export RUST_BACKTRACE=1
|
||||||
|
|
||||||
for INSTANCE in lemmy_alpha lemmy_beta lemmy_gamma lemmy_delta lemmy_epsilon; do
|
for INSTANCE in lemmy_alpha lemmy_beta lemmy_gamma lemmy_delta lemmy_epsilon; do
|
||||||
|
|
|
@ -615,7 +615,7 @@ export async function followBeta(api: API): Promise<CommunityResponse> {
|
||||||
|
|
||||||
export function delay(millis: number = 500) {
|
export function delay(millis: number = 500) {
|
||||||
return new Promise((resolve, _reject) => {
|
return new Promise((resolve, _reject) => {
|
||||||
setTimeout(_ => resolve(), millis);
|
setTimeout(_ => resolve(), 10);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ services:
|
||||||
- LEMMY_RATE_LIMIT__POST=99999
|
- LEMMY_RATE_LIMIT__POST=99999
|
||||||
- LEMMY_RATE_LIMIT__REGISTER=99999
|
- LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
- LEMMY_CAPTCHA__ENABLED=false
|
- LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
- LEMMY_TEST_SEND_SYNC=1
|
||||||
- RUST_BACKTRACE=1
|
- RUST_BACKTRACE=1
|
||||||
- RUST_LOG=debug
|
- RUST_LOG=debug
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -91,6 +92,7 @@ services:
|
||||||
- LEMMY_RATE_LIMIT__POST=99999
|
- LEMMY_RATE_LIMIT__POST=99999
|
||||||
- LEMMY_RATE_LIMIT__REGISTER=99999
|
- LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
- LEMMY_CAPTCHA__ENABLED=false
|
- LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
- LEMMY_TEST_SEND_SYNC=1
|
||||||
- RUST_BACKTRACE=1
|
- RUST_BACKTRACE=1
|
||||||
- RUST_LOG=debug
|
- RUST_LOG=debug
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -130,6 +132,7 @@ services:
|
||||||
- LEMMY_RATE_LIMIT__POST=99999
|
- LEMMY_RATE_LIMIT__POST=99999
|
||||||
- LEMMY_RATE_LIMIT__REGISTER=99999
|
- LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
- LEMMY_CAPTCHA__ENABLED=false
|
- LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
- LEMMY_TEST_SEND_SYNC=1
|
||||||
- RUST_BACKTRACE=1
|
- RUST_BACKTRACE=1
|
||||||
- RUST_LOG=debug
|
- RUST_LOG=debug
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -170,6 +173,7 @@ services:
|
||||||
- LEMMY_RATE_LIMIT__POST=99999
|
- LEMMY_RATE_LIMIT__POST=99999
|
||||||
- LEMMY_RATE_LIMIT__REGISTER=99999
|
- LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
- LEMMY_CAPTCHA__ENABLED=false
|
- LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
- LEMMY_TEST_SEND_SYNC=1
|
||||||
- RUST_BACKTRACE=1
|
- RUST_BACKTRACE=1
|
||||||
- RUST_LOG=debug
|
- RUST_LOG=debug
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -210,6 +214,7 @@ services:
|
||||||
- LEMMY_RATE_LIMIT__POST=99999
|
- LEMMY_RATE_LIMIT__POST=99999
|
||||||
- LEMMY_RATE_LIMIT__REGISTER=99999
|
- LEMMY_RATE_LIMIT__REGISTER=99999
|
||||||
- LEMMY_CAPTCHA__ENABLED=false
|
- LEMMY_CAPTCHA__ENABLED=false
|
||||||
|
- LEMMY_TEST_SEND_SYNC=1
|
||||||
- RUST_BACKTRACE=1
|
- RUST_BACKTRACE=1
|
||||||
- RUST_LOG=debug
|
- RUST_LOG=debug
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -25,7 +25,7 @@ use lemmy_websocket::LemmyContext;
|
||||||
use log::{debug, warn};
|
use log::{debug, warn};
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use serde::{export::fmt::Debug, Deserialize, Serialize};
|
use serde::{export::fmt::Debug, Deserialize, Serialize};
|
||||||
use std::{collections::BTreeMap, future::Future, pin::Pin};
|
use std::{collections::BTreeMap, future::Future, pin::Pin, env};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
|
|
||||||
/// Sends a local activity to a single, remote actor.
|
/// Sends a local activity to a single, remote actor.
|
||||||
|
@ -234,7 +234,11 @@ where
|
||||||
actor_id: actor.actor_id()?,
|
actor_id: actor.actor_id()?,
|
||||||
private_key: actor.private_key().context(location_info!())?,
|
private_key: actor.private_key().context(location_info!())?,
|
||||||
};
|
};
|
||||||
activity_sender.queue::<SendActivityTask>(message)?;
|
if env::var("LEMMY_TEST_SEND_SYNC").is_ok() {
|
||||||
|
do_send(message, &Client::default()).await?;
|
||||||
|
} else {
|
||||||
|
activity_sender.queue::<SendActivityTask>(message)?;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -260,31 +264,35 @@ impl ActixJob for SendActivityTask {
|
||||||
|
|
||||||
fn run(self, state: Self::State) -> Self::Future {
|
fn run(self, state: Self::State) -> Self::Future {
|
||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
let mut headers = BTreeMap::<String, String>::new();
|
do_send(self, &state.client).await
|
||||||
headers.insert("Content-Type".into(), "application/json".into());
|
|
||||||
let result = sign_and_send(
|
|
||||||
&state.client,
|
|
||||||
headers,
|
|
||||||
&self.inbox,
|
|
||||||
self.activity.clone(),
|
|
||||||
&self.actor_id,
|
|
||||||
self.private_key.to_owned(),
|
|
||||||
)
|
|
||||||
.await;
|
|
||||||
|
|
||||||
if let Err(e) = result {
|
|
||||||
warn!("{}", e);
|
|
||||||
return Err(anyhow!(
|
|
||||||
"Failed to send activity {} to {}",
|
|
||||||
&self.activity,
|
|
||||||
self.inbox
|
|
||||||
));
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn do_send(task: SendActivityTask, client: &Client) -> Result<(), Error>{
|
||||||
|
let mut headers = BTreeMap::<String, String>::new();
|
||||||
|
headers.insert("Content-Type".into(), "application/json".into());
|
||||||
|
let result = sign_and_send(
|
||||||
|
client,
|
||||||
|
headers,
|
||||||
|
&task.inbox,
|
||||||
|
task.activity.clone(),
|
||||||
|
&task.actor_id,
|
||||||
|
task.private_key.to_owned(),
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
|
||||||
|
if let Err(e) = result {
|
||||||
|
warn!("{}", e);
|
||||||
|
return Err(anyhow!(
|
||||||
|
"Failed to send activity {} to {}",
|
||||||
|
&task.activity,
|
||||||
|
task.inbox
|
||||||
|
));
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn create_activity_queue() -> QueueHandle {
|
pub fn create_activity_queue() -> QueueHandle {
|
||||||
// Start the application server. This guards access to to the jobs store
|
// Start the application server. This guards access to to the jobs store
|
||||||
let queue_handle = create_server(Storage::new());
|
let queue_handle = create_server(Storage::new());
|
||||||
|
|
Loading…
Reference in a new issue