]> Untitled Git - lemmy.git/commitdiff
Merge branch 'main' into no-send-blocked-dess
authorDessalines <tyhou13@gmx.com>
Thu, 1 Oct 2020 20:57:47 +0000 (15:57 -0500)
committerDessalines <tyhou13@gmx.com>
Thu, 1 Oct 2020 20:57:47 +0000 (15:57 -0500)
api_tests/src/comment.spec.ts
api_tests/src/follow.spec.ts
api_tests/src/post.spec.ts
api_tests/src/private_message.spec.ts
api_tests/src/shared.ts
docker/travis/docker-compose.yml
lemmy_apub/src/activity_queue.rs
lemmy_apub/src/extensions/signatures.rs

index 5017c0fa4c19e1f72feb0364c1c0402330d25615..2ee3045c753a45adea1a42aee1d74790933736ae 100644 (file)
@@ -1,4 +1,4 @@
-jest.setTimeout(120000);
+jest.setTimeout(180000);
 import {
   alpha,
   beta,
@@ -21,6 +21,7 @@ import {
   registerUser,
   API,
   delay,
+  longDelay,
 } from './shared';
 import {
   Comment,
@@ -35,7 +36,7 @@ beforeAll(async () => {
   await followBeta(alpha);
   await followBeta(gamma);
   let search = await searchForBetaCommunity(alpha);
-  await delay(10000);
+  await longDelay();
   postRes = await createPost(
     alpha,
     search.communities.filter(c => c.local == false)[0].id
@@ -66,7 +67,7 @@ test('Create a comment', async () => {
   expect(commentRes.comment.community_local).toBe(false);
   expect(commentRes.comment.creator_local).toBe(true);
   expect(commentRes.comment.score).toBe(1);
-  await delay();
+  await longDelay();
 
   // Make sure that comment is liked on beta
   let searchBeta = await searchComment(beta, commentRes.comment);
@@ -147,7 +148,7 @@ test('Remove a comment from admin and community on the same instance', async ()
   // The beta admin removes it (the community lives on beta)
   let removeCommentRes = await removeComment(beta, true, betaCommentId);
   expect(removeCommentRes.comment.removed).toBe(true);
-  await delay();
+  await longDelay();
 
   // Make sure that comment is removed on alpha (it gets pushed since an admin from beta removed it)
   let refetchedPost = await getPost(alpha, postRes.post.id);
@@ -155,7 +156,7 @@ test('Remove a comment from admin and community on the same instance', async ()
 
   let unremoveCommentRes = await removeComment(beta, false, betaCommentId);
   expect(unremoveCommentRes.comment.removed).toBe(false);
-  await delay();
+  await longDelay();
 
   // Make sure that comment is unremoved on beta
   let refetchedPost2 = await getPost(alpha, postRes.post.id);
@@ -210,7 +211,7 @@ test('Unlike a comment', async () => {
 
 test('Federated comment like', async () => {
   let commentRes = await createComment(alpha, postRes.post.id);
-  await delay();
+  await longDelay();
 
   // Find the comment on beta
   let searchBeta = await searchComment(beta, commentRes.comment);
@@ -218,7 +219,7 @@ test('Federated comment like', async () => {
 
   let like = await likeComment(beta, 1, betaComment);
   expect(like.comment.score).toBe(2);
-  await delay();
+  await longDelay();
 
   // Get the post from alpha, check the likes
   let post = await getPost(alpha, postRes.post.id);
@@ -241,7 +242,7 @@ test('Reply to a comment', async () => {
   expect(replyRes.comment.creator_local).toBe(true);
   expect(replyRes.comment.parent_id).toBe(betaComment.id);
   expect(replyRes.comment.score).toBe(1);
-  await delay();
+  await longDelay();
 
   // Make sure that comment is seen on alpha
   // TODO not sure why, but a searchComment back to alpha, for the ap_id of betas
@@ -310,7 +311,7 @@ test('A and G subscribe to B (center) A posts, G mentions B, it gets announced t
   expect(commentRes.comment.community_local).toBe(false);
   expect(commentRes.comment.creator_local).toBe(true);
   expect(commentRes.comment.score).toBe(1);
-  await delay();
+  await longDelay();
 
   // Make sure alpha sees it
   let alphaPost2 = await getPost(alpha, alphaPost.post.id);
@@ -319,6 +320,7 @@ test('A and G subscribe to B (center) A posts, G mentions B, it gets announced t
   expect(alphaPost2.comments[0].creator_local).toBe(false);
   expect(alphaPost2.comments[0].score).toBe(1);
   assertCommentFederation(alphaPost2.comments[0], commentRes.comment);
+  await delay();
 
   // Make sure beta has mentions
   let mentionsRes = await getMentions(beta);
@@ -381,7 +383,7 @@ test('Fetch in_reply_tos: A is unsubbed from B, B makes a post, and some embedde
   // Get the post from alpha
   let search = await searchPost(alpha, postRes.post);
   let alphaPostB = search.posts[0];
-  await delay();
+  await longDelay();
 
   let alphaPost = await getPost(alpha, alphaPostB.id);
   expect(alphaPost.post.name).toBeDefined();
index e238dc636e46fe82a8c62d4f6d29a5721982b1a3..e0389f8715b076d1a8fd13e796cc54f1dde65f3b 100644 (file)
@@ -7,6 +7,7 @@ import {
   checkFollowedCommunities,
   unfollowRemotes,
   delay,
+  longDelay,
 } from './shared';
 
 beforeAll(async () => {
@@ -24,10 +25,11 @@ test('Follow federated community', async () => {
   // Make sure the follow response went through
   expect(follow.community.local).toBe(false);
   expect(follow.community.name).toBe('main');
-  await delay();
+  await longDelay();
 
   // Check it from local
   let followCheck = await checkFollowedCommunities(alpha);
+  await delay();
   let remoteCommunityId = followCheck.communities.filter(
     c => c.community_local == false
   )[0].community_id;
index e62b6cce7807b8c5b824ac50ad4afb9847e7e0be..b964e72eb4380ad4d949ced4206da6794c2e20a1 100644 (file)
@@ -20,6 +20,7 @@ import {
   getPost,
   unfollowRemotes,
   delay,
+  longDelay,
 } from './shared';
 import {
   Post,
@@ -31,7 +32,7 @@ beforeAll(async () => {
   await followBeta(gamma);
   await followBeta(delta);
   await followBeta(epsilon);
-  await delay(10000);
+  await longDelay();
 });
 
 afterAll(async () => {
@@ -67,7 +68,7 @@ test('Create a post', async () => {
   expect(postRes.post.community_local).toBe(false);
   expect(postRes.post.creator_local).toBe(true);
   expect(postRes.post.score).toBe(1);
-  await delay();
+  await longDelay();
 
   // Make sure that post is liked on beta
   let searchBeta = await searchPost(beta, postRes.post);
@@ -104,7 +105,7 @@ test('Unlike a post', async () => {
   // Try to unlike it again, make sure it stays at 0
   let unlike2 = await likePost(alpha, 0, postRes.post);
   expect(unlike2.post.score).toBe(0);
-  await delay();
+  await longDelay();
 
   // Make sure that post is unliked on beta
   let searchBeta = await searchPost(beta, postRes.post);
@@ -284,31 +285,32 @@ test('Remove a post from admin and community on different instance', async () =>
 test('Remove a post from admin and community on same instance', async () => {
   let search = await searchForBetaCommunity(alpha);
   let postRes = await createPost(alpha, search.communities[0].id);
-  await delay();
+  await longDelay();
 
   // Get the id for beta
   let searchBeta = await searchPost(beta, postRes.post);
   let betaPost = searchBeta.posts[0];
-  await delay();
+  await longDelay();
 
   // The beta admin removes it (the community lives on beta)
   let removePostRes = await removePost(beta, true, betaPost);
   expect(removePostRes.post.removed).toBe(true);
-  await delay();
+  await longDelay();
 
   // Make sure lemmy alpha sees post is removed
   let alphaPost = await getPost(alpha, postRes.post.id);
   expect(alphaPost.post.removed).toBe(true);
   assertPostFederation(alphaPost.post, removePostRes.post);
-  await delay();
+  await longDelay();
 
   // Undelete
   let undeletedPost = await removePost(beta, false, betaPost);
   expect(undeletedPost.post.removed).toBe(false);
-  await delay();
+  await longDelay();
 
   // Make sure lemmy alpha sees post is undeleted
   let alphaPost2 = await getPost(alpha, postRes.post.id);
+  await delay();
   expect(alphaPost2.post.removed).toBe(false);
   assertPostFederation(alphaPost2.post, undeletedPost.post);
 });
index 75d1568ff39eb6ccc82f82131da507d538969ba7..3ae7148805dded81c6d50a58df7bfbd1de692e89 100644 (file)
@@ -10,6 +10,7 @@ import {
   deletePrivateMessage,
   unfollowRemotes,
   delay,
+  longDelay,
 } from './shared';
 
 let recipient_id: number;
@@ -17,7 +18,7 @@ let recipient_id: number;
 beforeAll(async () => {
   await setupLogins();
   let follow = await followBeta(alpha);
-  await delay(10000);
+  await longDelay();
   recipient_id = follow.community.creator_id;
 });
 
@@ -46,7 +47,7 @@ test('Update a private message', async () => {
   let pmRes = await createPrivateMessage(alpha, recipient_id);
   let pmUpdated = await updatePrivateMessage(alpha, pmRes.message.id);
   expect(pmUpdated.message.content).toBe(updatedContent);
-  await delay();
+  await longDelay();
 
   let betaPms = await listPrivateMessages(beta);
   expect(betaPms.messages[0].content).toBe(updatedContent);
@@ -74,7 +75,7 @@ test('Delete a private message', async () => {
     pmRes.message.id
   );
   expect(undeletedPmRes.message.deleted).toBe(false);
-  await delay();
+  await longDelay();
 
   let betaPms3 = await listPrivateMessages(beta);
   expect(betaPms3.messages.length).toBe(betaPms1.messages.length);
index bf75fa54435bc48d51cf8c3c9ab3a5dce717fdc6..6aa5cfc4e3a2504651ca90dea269d1eaee1d0826 100644 (file)
@@ -554,10 +554,15 @@ export async function followBeta(api: API): Promise<CommunityResponse> {
   }
 }
 
-export const delay = (millis: number = 1500) =>
-  new Promise((resolve, _reject) => {
+export function delay(millis: number = 500) {
+  return new Promise((resolve, _reject) => {
     setTimeout(_ => resolve(), millis);
   });
+}
+
+export function longDelay() {
+  return delay(10000);
+}
 
 export function wrapper(form: any): string {
   return JSON.stringify(form);
index e60f50333a5c1639b37b60b60f0dfb9a0da808d2..565f7a000056c08369265ca988aa06ff39eba475 100644 (file)
@@ -8,7 +8,7 @@ services:
       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
       - LEMMY_JWT_SECRET=changeme
       - LEMMY_FEDERATION__ENABLED=true
-      - LEMMY_FEDERATION__TLS_ENABLED=false
+      - LEMMY_TLS_ENABLED=false
       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma,lemmy-delta,lemmy-epsilon
       - LEMMY_PORT=8541
       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
@@ -39,7 +39,7 @@ services:
       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
       - LEMMY_JWT_SECRET=changeme
       - LEMMY_FEDERATION__ENABLED=true
-      - LEMMY_FEDERATION__TLS_ENABLED=false
+      - LEMMY_TLS_ENABLED=false
       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma,lemmy-delta,lemmy-epsilon
       - LEMMY_PORT=8551
       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
@@ -70,7 +70,7 @@ services:
       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
       - LEMMY_JWT_SECRET=changeme
       - LEMMY_FEDERATION__ENABLED=true
-      - LEMMY_FEDERATION__TLS_ENABLED=false
+      - LEMMY_TLS_ENABLED=false
       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta,lemmy-delta,lemmy-epsilon
       - LEMMY_PORT=8561
       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
@@ -102,7 +102,7 @@ services:
       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_delta:5432/lemmy
       - LEMMY_JWT_SECRET=changeme
       - LEMMY_FEDERATION__ENABLED=true
-      - LEMMY_FEDERATION__TLS_ENABLED=false
+      - LEMMY_TLS_ENABLED=false
       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta
       - LEMMY_PORT=8571
       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_delta
@@ -134,7 +134,7 @@ services:
       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_epsilon:5432/lemmy
       - LEMMY_JWT_SECRET=changeme
       - LEMMY_FEDERATION__ENABLED=true
-      - LEMMY_FEDERATION__TLS_ENABLED=false
+      - LEMMY_TLS_ENABLED=false
       - LEMMY_FEDERATION__BLOCKED_INSTANCES=lemmy-alpha
       - LEMMY_PORT=8581
       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_epsilon
index 960e126b871122b91a862996c89869c7cbce42a3..7602fe2f7a858cae2eaf54508d579c80a6503f96 100644 (file)
@@ -1,7 +1,7 @@
 use crate::{
   check_is_apub_id_valid,
   community::do_announce,
-  extensions::signatures::sign,
+  extensions::signatures::sign_and_send,
   insert_activity,
   ActorType,
 };
@@ -210,7 +210,7 @@ impl ActixJob for SendActivityTask {
       for to_url in &self.to {
         let mut headers = BTreeMap::<String, String>::new();
         headers.insert("Content-Type".into(), "application/json".into());
-        let result = sign(
+        let result = sign_and_send(
           &state.client,
           headers,
           to_url,
index 452b60c665ed7457f237cd79f4498babee3755e5..cdcb707a68aac3dfe91504925b23a3bf46b8aa0b 100644 (file)
@@ -25,7 +25,7 @@ lazy_static! {
 }
 
 /// Signs request headers with the given keypair.
-pub async fn sign(
+pub async fn sign_and_send(
   client: &Client,
   headers: BTreeMap<String, String>,
   url: &Url,