Merge branch 'main' into add_jerboa_link
This commit is contained in:
commit
cda93e08d8
4 changed files with 34 additions and 20 deletions
|
@ -23,6 +23,7 @@ import {
|
||||||
listCommentReports,
|
listCommentReports,
|
||||||
randomString,
|
randomString,
|
||||||
API,
|
API,
|
||||||
|
unfollows,
|
||||||
} from './shared';
|
} from './shared';
|
||||||
import { CommentView } from 'lemmy-js-client';
|
import { CommentView } from 'lemmy-js-client';
|
||||||
|
|
||||||
|
@ -32,6 +33,7 @@ let postRes: PostResponse;
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
await setupLogins();
|
await setupLogins();
|
||||||
|
await unfollows();
|
||||||
await followBeta(alpha);
|
await followBeta(alpha);
|
||||||
await followBeta(gamma);
|
await followBeta(gamma);
|
||||||
let betaCommunity = (await resolveBetaCommunity(alpha)).community;
|
let betaCommunity = (await resolveBetaCommunity(alpha)).community;
|
||||||
|
@ -42,8 +44,7 @@ beforeAll(async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await unfollowRemotes(alpha);
|
await unfollows();
|
||||||
await unfollowRemotes(gamma);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function assertCommentFederation(
|
function assertCommentFederation(
|
||||||
|
|
|
@ -29,7 +29,8 @@ import {
|
||||||
randomString,
|
randomString,
|
||||||
registerUser,
|
registerUser,
|
||||||
API,
|
API,
|
||||||
getSite
|
getSite,
|
||||||
|
unfollows
|
||||||
} from './shared';
|
} from './shared';
|
||||||
import { PostView, CommunityView } from 'lemmy-js-client';
|
import { PostView, CommunityView } from 'lemmy-js-client';
|
||||||
|
|
||||||
|
@ -46,13 +47,6 @@ afterAll(async () => {
|
||||||
await unfollows();
|
await unfollows();
|
||||||
});
|
});
|
||||||
|
|
||||||
async function unfollows() {
|
|
||||||
await unfollowRemotes(alpha);
|
|
||||||
await unfollowRemotes(gamma);
|
|
||||||
await unfollowRemotes(delta);
|
|
||||||
await unfollowRemotes(epsilon);
|
|
||||||
}
|
|
||||||
|
|
||||||
function assertPostFederation(postOne: PostView, postTwo: PostView) {
|
function assertPostFederation(postOne: PostView, postTwo: PostView) {
|
||||||
expect(postOne.post.ap_id).toBe(postTwo.post.ap_id);
|
expect(postOne.post.ap_id).toBe(postTwo.post.ap_id);
|
||||||
expect(postOne.post.name).toBe(postTwo.post.name);
|
expect(postOne.post.name).toBe(postTwo.post.name);
|
||||||
|
@ -291,14 +285,6 @@ test('Search for a post', async () => {
|
||||||
expect(betaPost.post.name).toBeDefined();
|
expect(betaPost.post.name).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('A and G subscribe to B (center) A posts, it gets announced to G', async () => {
|
|
||||||
let postRes = await createPost(alpha, betaCommunity.community.id);
|
|
||||||
expect(postRes.post_view.post).toBeDefined();
|
|
||||||
|
|
||||||
let betaPost = (await resolvePost(gamma, postRes.post_view.post)).post;
|
|
||||||
expect(betaPost.post.name).toBeDefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Enforce site ban for federated user', async () => {
|
test('Enforce site ban for federated user', async () => {
|
||||||
// create a test user
|
// create a test user
|
||||||
let alphaUserJwt = await registerUser(alpha);
|
let alphaUserJwt = await registerUser(alpha);
|
||||||
|
@ -384,6 +370,15 @@ test('Enforce community ban for federated user', async () => {
|
||||||
expect(searchBeta2.posts[0]).toBeDefined();
|
expect(searchBeta2.posts[0]).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
test('A and G subscribe to B (center) A posts, it gets announced to G', async () => {
|
||||||
|
let postRes = await createPost(alpha, betaCommunity.community.id);
|
||||||
|
expect(postRes.post_view.post).toBeDefined();
|
||||||
|
|
||||||
|
let betaPost = (await resolvePost(gamma, postRes.post_view.post)).post;
|
||||||
|
expect(betaPost.post.name).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
test('Report a post', async () => {
|
test('Report a post', async () => {
|
||||||
let betaCommunity = (await resolveBetaCommunity(beta)).community;
|
let betaCommunity = (await resolveBetaCommunity(beta)).community;
|
||||||
let postRes = await createPost(beta, betaCommunity.community.id);
|
let postRes = await createPost(beta, betaCommunity.community.id);
|
||||||
|
|
|
@ -653,3 +653,10 @@ export function randomString(length: number): string {
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function unfollows() {
|
||||||
|
await unfollowRemotes(alpha);
|
||||||
|
await unfollowRemotes(gamma);
|
||||||
|
await unfollowRemotes(delta);
|
||||||
|
await unfollowRemotes(epsilon);
|
||||||
|
}
|
||||||
|
|
|
@ -72,8 +72,19 @@ impl ActixJob for SendActivityTask {
|
||||||
type Future = Pin<Box<dyn Future<Output = Result<(), Error>>>>;
|
type Future = Pin<Box<dyn Future<Output = Result<(), Error>>>>;
|
||||||
const NAME: &'static str = "SendActivityTask";
|
const NAME: &'static str = "SendActivityTask";
|
||||||
|
|
||||||
|
/// With these params, retries are made at the following intervals:
|
||||||
|
/// 3s
|
||||||
|
/// 9s
|
||||||
|
/// 27s
|
||||||
|
/// 1m 21s
|
||||||
|
/// 4m 3s
|
||||||
|
/// 12m 9s
|
||||||
|
/// 36m 27s
|
||||||
|
/// 1h 49m 21s
|
||||||
|
/// 5h 28m 3s
|
||||||
|
/// 16h 24m 9s
|
||||||
const MAX_RETRIES: MaxRetries = MaxRetries::Count(10);
|
const MAX_RETRIES: MaxRetries = MaxRetries::Count(10);
|
||||||
const BACKOFF: Backoff = Backoff::Exponential(2);
|
const BACKOFF: Backoff = Backoff::Exponential(3);
|
||||||
|
|
||||||
fn run(self, state: Self::State) -> Self::Future {
|
fn run(self, state: Self::State) -> Self::Future {
|
||||||
Box::pin(async move { do_send(self, &state.client).await })
|
Box::pin(async move { do_send(self, &state.client).await })
|
||||||
|
|
Loading…
Reference in a new issue