From 1ea89d90e19c773dd120d96883d8bd08252e6d86 Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Mon, 4 Nov 2024 17:41:27 +0100 Subject: [PATCH 1/3] fix: fix tests, fix token moderation --- .../io/getstream/client/ModerationClient.java | 11 ++++++----- .../java/io/getstream/core/Moderation.java | 18 +++++++++++------- .../java/io/getstream/core/utils/Auth.java | 7 ++++++- .../getstream/client/ModerationClientTest.java | 11 +++++++++-- 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/main/java/io/getstream/client/ModerationClient.java b/src/main/java/io/getstream/client/ModerationClient.java index c44aabc2..37e9514a 100644 --- a/src/main/java/io/getstream/client/ModerationClient.java +++ b/src/main/java/io/getstream/client/ModerationClient.java @@ -1,5 +1,6 @@ package io.getstream.client; +import static io.getstream.core.utils.Auth.buildModerationToken; import static io.getstream.core.utils.Auth.buildReactionsToken; import static io.getstream.core.utils.Routes.*; import static io.getstream.core.utils.Serialization.*; @@ -33,19 +34,19 @@ public CompletableFuture flagActivity( } public CompletableFuture flagReaction( - String entityId, String entityCreatorId, String reason, Map options) + String entityId, String reportingUser, String reason, Map options) throws StreamException { - return flag("stream:feeds:v2:reaction", entityId, entityCreatorId, reason, options); + return flag("stream:feeds:v2:reaction", entityId, reportingUser, reason, options); } private CompletableFuture flag( String entityType, String entityId, - String entityCreatorId, + String reportingUser, String reason, Map options) throws StreamException { - final Token token = buildReactionsToken(secret, Auth.TokenAction.WRITE); - return mod.flag(token, entityType, entityId, entityCreatorId, reason, options); + final Token token = buildModerationToken(secret, Auth.TokenAction.WRITE); + return mod.flag(token, entityType, entityId, reportingUser, reason, options); } } diff --git a/src/main/java/io/getstream/core/Moderation.java b/src/main/java/io/getstream/core/Moderation.java index d607774e..d4cb0eed 100644 --- a/src/main/java/io/getstream/core/Moderation.java +++ b/src/main/java/io/getstream/core/Moderation.java @@ -31,24 +31,28 @@ public CompletableFuture flag( Token token, String entityType, String entityId, - String entityCreatorId, - String reason, + String reportingUser, + String Reason, Map options) throws StreamException { try { final byte[] payload = toJSON( new Object() { - public final String UserId = entityCreatorId; - public final String EntityType = entityType; - public final String EntityId = entityId; - public final String Reason = reason; + public final String user_id = reportingUser; + public final String entity_type = entityType; + public final String entity_id = entityId; + public final String reason = Reason; }); - final URL url = buildModerationFlagURL(baseURL); + String strsing = new String(payload); + System.out.println(strsing); + final URL url = buildModerationFlagURL(baseURL); return httpClient.execute(buildPost(url, key, token, payload)); } catch (JsonProcessingException | MalformedURLException | URISyntaxException e) { throw new CompletionException(e); + } catch (Exception e){ + throw e; } } } diff --git a/src/main/java/io/getstream/core/utils/Auth.java b/src/main/java/io/getstream/core/utils/Auth.java index a1527ab2..3fdcada3 100644 --- a/src/main/java/io/getstream/core/utils/Auth.java +++ b/src/main/java/io/getstream/core/utils/Auth.java @@ -41,7 +41,8 @@ public enum TokenResource { OPEN_GRAPH("url"), PERSONALIZATION("personalization"), REACTIONS("reactions"), - USERS("users"); + USERS("users"), + MODERATION("moderation"); private final String resource; @@ -98,6 +99,10 @@ public static Token buildReactionsToken(String secret, TokenAction action) { return buildBackendToken(secret, TokenResource.REACTIONS, action, "*"); } + public static Token buildModerationToken(String secret, TokenAction action) { + return buildBackendToken(secret, TokenResource.MODERATION, action, "*"); + } + public static Token buildAnalyticsToken(String secret, TokenAction action) { return buildBackendToken(secret, TokenResource.ANALYTICS, action, "*"); } diff --git a/src/test/java/io/getstream/client/ModerationClientTest.java b/src/test/java/io/getstream/client/ModerationClientTest.java index e57cbc2e..798b97fa 100644 --- a/src/test/java/io/getstream/client/ModerationClientTest.java +++ b/src/test/java/io/getstream/client/ModerationClientTest.java @@ -5,6 +5,10 @@ import io.getstream.core.http.Response; import io.getstream.core.models.*; import io.getstream.core.models.Activity; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.nio.Buffer; import java.util.Date; import java.util.UUID; import org.junit.*; @@ -65,12 +69,15 @@ public void testFlagReaction() throws Exception { assertNotNull(activityResponse); Reaction reactionResponse = - client.reactions().add("user123", "like", activityResponse.getID()).join(); + client.reactions().add("test", "like", activityResponse.getID()).join(); assertNotNull(reactionResponse); Response flagResponse = - moderationClient.flagReaction(reactionResponse.getId(), "bobby", "blood", null).join(); + moderationClient.flagReaction(reactionResponse.getId(), "vishal", "blood", null).join(); + assertNotNull(flagResponse); + assertEquals(201, flagResponse.getCode()); assertNotNull(flagResponse); + } @Test From f4f6596c240349c67f66094ccd5117a7fd3d60e6 Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Mon, 4 Nov 2024 17:48:41 +0100 Subject: [PATCH 2/3] fix: fix tests, fix token moderation --- src/test/java/io/getstream/client/ModerationClientTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/io/getstream/client/ModerationClientTest.java b/src/test/java/io/getstream/client/ModerationClientTest.java index 798b97fa..81f32e2e 100644 --- a/src/test/java/io/getstream/client/ModerationClientTest.java +++ b/src/test/java/io/getstream/client/ModerationClientTest.java @@ -73,7 +73,7 @@ public void testFlagReaction() throws Exception { assertNotNull(reactionResponse); Response flagResponse = - moderationClient.flagReaction(reactionResponse.getId(), "vishal", "blood", null).join(); + moderationClient.flagReaction(reactionResponse.getId(), "test", "blood", null).join(); assertNotNull(flagResponse); assertEquals(201, flagResponse.getCode()); assertNotNull(flagResponse); From 4ae4d2434c81334c82115fd610caf507ce32ac5c Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Tue, 5 Nov 2024 15:02:32 +0100 Subject: [PATCH 3/3] fix: fix tests --- .../io/getstream/client/ModerationClient.java | 8 ++-- .../java/io/getstream/core/Moderation.java | 6 +-- .../client/ModerationClientTest.java | 41 +++++++++---------- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/src/main/java/io/getstream/client/ModerationClient.java b/src/main/java/io/getstream/client/ModerationClient.java index 37e9514a..f579eb65 100644 --- a/src/main/java/io/getstream/client/ModerationClient.java +++ b/src/main/java/io/getstream/client/ModerationClient.java @@ -23,14 +23,14 @@ public class ModerationClient { } public CompletableFuture flagUser( - String flaggedUserId, String reason, Map options) throws StreamException { - return flag("stream:user", flaggedUserId, "", reason, options); + String flaggedUserId,String reportingUser, String reason, Map options) throws StreamException { + return flag("stream:user", flaggedUserId, reportingUser, reason, options); } public CompletableFuture flagActivity( - String entityId, String entityCreatorId, String reason, Map options) + String entityId, String reportingUser, String reason, Map options) throws StreamException { - return flag("stream:feeds:v2:activity", entityId, entityCreatorId, reason, options); + return flag("stream:feeds:v2:activity", entityId, reportingUser, reason, options); } public CompletableFuture flagReaction( diff --git a/src/main/java/io/getstream/core/Moderation.java b/src/main/java/io/getstream/core/Moderation.java index d4cb0eed..01ae12cb 100644 --- a/src/main/java/io/getstream/core/Moderation.java +++ b/src/main/java/io/getstream/core/Moderation.java @@ -45,14 +45,10 @@ public CompletableFuture flag( public final String reason = Reason; }); - String strsing = new String(payload); - System.out.println(strsing); - final URL url = buildModerationFlagURL(baseURL); + final URL url = buildModerationFlagURL(baseURL); return httpClient.execute(buildPost(url, key, token, payload)); } catch (JsonProcessingException | MalformedURLException | URISyntaxException e) { throw new CompletionException(e); - } catch (Exception e){ - throw e; } } } diff --git a/src/test/java/io/getstream/client/ModerationClientTest.java b/src/test/java/io/getstream/client/ModerationClientTest.java index 81f32e2e..75899094 100644 --- a/src/test/java/io/getstream/client/ModerationClientTest.java +++ b/src/test/java/io/getstream/client/ModerationClientTest.java @@ -6,9 +6,7 @@ import io.getstream.core.models.*; import io.getstream.core.models.Activity; -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.nio.Buffer; +import java.sql.Time; import java.util.Date; import java.util.UUID; import org.junit.*; @@ -32,51 +30,50 @@ public void setUp() throws Exception { } @Test - public void testFlagUser() throws Exception { - + public void testFlagActivity() throws Exception { ModerationClient moderationClient = client.moderation(); - String userId = UUID.randomUUID().toString(); - User user = client.user(userId); - user.getOrCreate().join(); - Data result = user.get().join(); + Activity activity = Activity.builder().actor("bad-user").verb("test").object("test").moderationTemplate("moderation_template_activity").time(new Date()).foreignID("fid").build(); + Activity activityResponse = client.flatFeed("user", "1").addActivity(activity).join(); - Response flagResponse = moderationClient.flagUser(userId, "blood", null).join(); + String reportingUser="reporting-user"; + Activity activity1 = Activity.builder().actor(reportingUser).verb("verb").object("test").moderationTemplate("moderation_template_activity").time(new Date()).foreignID("fid").build(); + Activity activityResponse1 = client.flatFeed("user", "1").addActivity(activity1).join(); + assertNotNull(activityResponse); + + Response flagResponse = + moderationClient.flagActivity(activityResponse.getID(), reportingUser, "blood", null).join(); assertNotNull(flagResponse); + assertEquals(201, flagResponse.getCode()); } @Test - public void testFlagActivity() throws Exception { - ModerationClient moderationClient = client.moderation(); - - Activity activity = Activity.builder().actor("test").verb("test").object("test").build(); + public void testFlagUser() throws Exception { - Activity activityResponse = client.flatFeed("flat", "1").addActivity(activity).join(); - assertNotNull(activityResponse); + ModerationClient moderationClient = client.moderation(); - Response flagResponse = - moderationClient.flagActivity(activityResponse.getID(), "vishal", "blood", null).join(); + Response flagResponse = moderationClient.flagUser("bad-user", "reporting-user", "blood", null).join(); assertNotNull(flagResponse); + assertEquals(201, flagResponse.getCode()); } @Test public void testFlagReaction() throws Exception { ModerationClient moderationClient = client.moderation(); - Activity activity = Activity.builder().actor("test").verb("test").object("test").build(); + Activity activity = Activity.builder().actor("bad-user").verb("test").object("test").moderationTemplate("moderation_template_reaction").time(new Date()).foreignID("fid").build(); Activity activityResponse = client.flatFeed("flat", "1").addActivity(activity).join(); assertNotNull(activityResponse); Reaction reactionResponse = - client.reactions().add("test", "like", activityResponse.getID()).join(); + client.reactions().add("bad-user", "like", activityResponse.getID()).join(); assertNotNull(reactionResponse); Response flagResponse = - moderationClient.flagReaction(reactionResponse.getId(), "test", "blood", null).join(); + moderationClient.flagReaction(reactionResponse.getId(), "reporting-user", "blood", null).join(); assertNotNull(flagResponse); assertEquals(201, flagResponse.getCode()); - assertNotNull(flagResponse); }