Skip to content

Commit dd096cb

Browse files
tests
1 parent 767dec7 commit dd096cb

File tree

3 files changed

+187
-50
lines changed

3 files changed

+187
-50
lines changed

src/test/java/io/getstream/client/BatchClientTest.java

Lines changed: 81 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package io.getstream.client;
22

3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertNotNull;
5+
import static org.junit.Assert.assertNull;
6+
37
import com.google.common.collect.ImmutableMap;
48
import io.getstream.core.KeepHistory;
59
import io.getstream.core.models.*;
@@ -163,29 +167,54 @@ public void partiallyUpdateActivitiesByForeignID() throws Exception {
163167
}
164168

165169
@Test
166-
public void partiallyUpdateActivityByIDWithRequestOptions() throws Exception {
170+
public void partiallyUpdateActivityByIDSkipModeration() throws Exception {
167171
Client client = Client.builder(apiKey, secret).build();
168172

169-
Map<String, Object> set = ImmutableMap.of("value", "message");
170-
Iterable<String> unset = Collections.emptyList();
171-
Activity result =
173+
Activity activity =
174+
Activity.builder()
175+
.actor("test")
176+
.verb("test")
177+
.object("test")
178+
.moderationTemplate("moderation_template_activity")
179+
.extraField("text", "safe text")
180+
.foreignID(UUID.randomUUID().toString())
181+
.time(new Date())
182+
.build();
183+
Activity created = client.flatFeed("user", "1").addActivity(activity).join();
184+
assertNotNull(created.getModerationResponse());
185+
assertEquals("keep", created.getModerationResponse().getRecommendedAction());
186+
187+
Activity updated =
172188
client
173189
.updateActivityByID(
174-
"1657b300-a648-11d5-8080-800020fde6c3",
175-
set,
190+
created.getID(),
191+
ImmutableMap.of("text", "pissoar"),
176192
new String[0],
177193
new CustomQueryParameter("skip_moderation", "true"))
178194
.join();
195+
assertNull(updated.getModerationResponse());
179196
}
180197

181198
@Test
182-
public void partiallyUpdateActivitiesByIDWithRequestOptions() throws Exception {
199+
public void partiallyUpdateActivitiesByIDSkipModeration() throws Exception {
183200
Client client = Client.builder(apiKey, secret).build();
184201

202+
Activity activity =
203+
Activity.builder()
204+
.actor("test")
205+
.verb("test")
206+
.object("test")
207+
.moderationTemplate("moderation_template_activity")
208+
.extraField("text", "safe text")
209+
.foreignID(UUID.randomUUID().toString())
210+
.time(new Date())
211+
.build();
212+
Activity created = client.flatFeed("user", "1").addActivity(activity).join();
213+
185214
ActivityUpdate update =
186215
ActivityUpdate.builder()
187-
.id("1657b300-a648-11d5-8080-800020fde6c3")
188-
.set(ImmutableMap.of("value", "message"))
216+
.id(created.getID())
217+
.set(ImmutableMap.of("text", "pissoar"))
189218
.unset(Collections.emptyList())
190219
.build();
191220

@@ -195,39 +224,67 @@ public void partiallyUpdateActivitiesByIDWithRequestOptions() throws Exception {
195224
new ActivityUpdate[] {update},
196225
new CustomQueryParameter("skip_moderation", "true"))
197226
.join();
227+
assertEquals(1, result.size());
228+
assertNull(result.get(0).getModerationResponse());
198229
}
199230

200231
@Test
201-
public void partiallyUpdateActivityByForeignIDWithRequestOptions() throws Exception {
232+
public void partiallyUpdateActivityByForeignIDSkipModeration() throws Exception {
202233
Client client = Client.builder(apiKey, secret).build();
203234

204-
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S");
205-
isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
206-
Date time = isoFormat.parse("2001-09-11T00:01:02.000000");
235+
String foreignID = UUID.randomUUID().toString();
236+
Date time = new Date();
207237

208-
Activity result =
238+
Activity activity =
239+
Activity.builder()
240+
.actor("test")
241+
.verb("test")
242+
.object("test")
243+
.moderationTemplate("moderation_template_activity")
244+
.extraField("text", "safe text")
245+
.foreignID(foreignID)
246+
.time(time)
247+
.build();
248+
Activity created = client.flatFeed("user", "1").addActivity(activity).join();
249+
assertNotNull(created.getModerationResponse());
250+
assertEquals("keep", created.getModerationResponse().getRecommendedAction());
251+
252+
Activity updated =
209253
client
210254
.updateActivityByForeignID(
211-
"foreignID",
255+
foreignID,
212256
time,
213-
ImmutableMap.of("value", "message"),
257+
ImmutableMap.of("text", "pissoar"),
214258
new String[0],
215259
new CustomQueryParameter("skip_moderation", "true"))
216260
.join();
261+
assertNull(updated.getModerationResponse());
217262
}
218263

219264
@Test
220-
public void partiallyUpdateActivitiesByForeignIDWithRequestOptions() throws Exception {
265+
public void partiallyUpdateActivitiesByForeignIDSkipModeration() throws Exception {
221266
Client client = Client.builder(apiKey, secret).build();
222267

223-
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S");
224-
isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
268+
String foreignID = UUID.randomUUID().toString();
269+
Date time = new Date();
270+
271+
Activity activity =
272+
Activity.builder()
273+
.actor("test")
274+
.verb("test")
275+
.object("test")
276+
.moderationTemplate("moderation_template_activity")
277+
.extraField("text", "safe text")
278+
.foreignID(foreignID)
279+
.time(time)
280+
.build();
281+
client.flatFeed("user", "1").addActivity(activity).join();
225282

226283
ActivityUpdate update =
227284
ActivityUpdate.builder()
228-
.foreignID("foreignID")
229-
.time(isoFormat.parse("2001-09-11T00:01:02.000000"))
230-
.set(ImmutableMap.of("value", "message"))
285+
.foreignID(foreignID)
286+
.time(time)
287+
.set(ImmutableMap.of("text", "pissoar"))
231288
.unset(Collections.emptyList())
232289
.build();
233290

@@ -237,6 +294,8 @@ public void partiallyUpdateActivitiesByForeignIDWithRequestOptions() throws Exce
237294
new ActivityUpdate[] {update},
238295
new CustomQueryParameter("skip_moderation", "true"))
239296
.join();
297+
assertEquals(1, result.size());
298+
assertNull(result.get(0).getModerationResponse());
240299
}
241300

242301
@Test

src/test/java/io/getstream/client/FeedTest.java

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package io.getstream.client;
22

33
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertNotNull;
5+
import static org.junit.Assert.assertNull;
46

57
import com.google.common.collect.Lists;
68
import io.getstream.client.entities.FootballMatch;
@@ -10,6 +12,7 @@
1012
import io.getstream.core.models.Activity;
1113
import io.getstream.core.models.FeedID;
1214
import io.getstream.core.models.FollowStats;
15+
import io.getstream.core.models.ModerationResponse;
1316
import io.getstream.core.options.CustomQueryParameter;
1417
import java.net.MalformedURLException;
1518
import java.util.Collections;
@@ -52,22 +55,51 @@ public void addActivity() throws Exception {
5255
}
5356

5457
@Test
55-
public void addActivityWithRequestOptions() throws Exception {
56-
Activity activity = Activity.builder().actor("test").verb("test").object("test").build();
57-
FlatFeed feed = client.flatFeed("flat", "1");
58-
Activity result =
59-
feed.addActivity(activity, new CustomQueryParameter("skip_moderation", "true")).join();
58+
public void addActivitySkipModeration() throws Exception {
59+
FlatFeed feed = client.flatFeed("user", "1");
60+
61+
Activity blocked =
62+
Activity.builder()
63+
.actor("test")
64+
.verb("test")
65+
.object("test")
66+
.moderationTemplate("moderation_template_activity")
67+
.extraField("text", "pissoar")
68+
.foreignID(UUID.randomUUID().toString())
69+
.time(new Date())
70+
.build();
71+
72+
Activity withModeration = feed.addActivity(blocked).join();
73+
assertNotNull(withModeration.getModerationResponse());
74+
assertEquals("remove", withModeration.getModerationResponse().getRecommendedAction());
75+
76+
Activity withoutModeration =
77+
feed.addActivity(blocked, new CustomQueryParameter("skip_moderation", "true")).join();
78+
assertNull(withoutModeration.getModerationResponse());
6079
}
6180

6281
@Test
63-
public void addActivitiesWithRequestOptions() throws Exception {
64-
Activity activity = Activity.builder().actor("test").verb("test").object("test").build();
65-
FlatFeed feed = client.flatFeed("flat", "1");
66-
List<Activity> result =
82+
public void addActivitiesSkipModeration() throws Exception {
83+
FlatFeed feed = client.flatFeed("user", "1");
84+
85+
Activity blocked =
86+
Activity.builder()
87+
.actor("test")
88+
.verb("test")
89+
.object("test")
90+
.moderationTemplate("moderation_template_activity")
91+
.extraField("text", "pissoar")
92+
.foreignID(UUID.randomUUID().toString())
93+
.time(new Date())
94+
.build();
95+
96+
List<Activity> withoutModeration =
6797
feed.addActivities(
68-
new Activity[] {activity},
98+
new Activity[] {blocked},
6999
new CustomQueryParameter("skip_moderation", "true"))
70100
.join();
101+
assertEquals(1, withoutModeration.size());
102+
assertNull(withoutModeration.get(0).getModerationResponse());
71103
}
72104

73105
@Test

src/test/java/io/getstream/client/ReactionsClientTest.java

Lines changed: 64 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import org.junit.Test;
1515

1616
import static org.junit.Assert.assertEquals;
17+
import static org.junit.Assert.assertNotNull;
18+
import static org.junit.Assert.assertNull;
1719

1820
public class ReactionsClientTest {
1921
private static final String apiKey =
@@ -190,38 +192,82 @@ public void update() throws Exception {
190192
}
191193

192194
@Test
193-
public void addWithRequestOptions() throws Exception {
195+
public void addReactionSkipModeration() throws Exception {
194196
Client client = Client.builder(apiKey, secret).build();
195197

196-
Reaction data =
197-
Reaction.builder().activityID("ed2837a6-0a3b-4679-adc1-778a1704852d").kind("like").build();
198-
client
199-
.reactions()
200-
.add(
201-
"user-id",
202-
data,
203-
new FeedID[] {new FeedID("flat", "1")},
204-
new CustomQueryParameter("skip_moderation", "true"))
205-
.join();
198+
Activity activity =
199+
client
200+
.flatFeed("user", "reactor")
201+
.addActivity(
202+
Activity.builder().actor("test").verb("post").object("test").build())
203+
.join();
204+
205+
Reaction blocked =
206+
Reaction.builder()
207+
.activityID(activity.getID())
208+
.kind("comment")
209+
.userID("test-user")
210+
.extraField("text", "pissoar")
211+
.moderationTemplate("moderation_template_reaction")
212+
.build();
213+
214+
Reaction withModeration = client.reactions().add("test-user", blocked).join();
215+
assertNotNull(withModeration.getModerationResponse());
216+
assertEquals("remove", withModeration.getModerationResponse().getRecommendedAction());
217+
218+
Reaction withoutModeration =
219+
client
220+
.reactions()
221+
.add(
222+
"test-user",
223+
blocked,
224+
new FeedID[0],
225+
new CustomQueryParameter("skip_moderation", "true"))
226+
.join();
227+
assertNull(withoutModeration.getModerationResponse());
206228
}
207229

208230
@Test
209-
public void updateWithRequestOptions() throws Exception {
231+
public void updateReactionSkipModeration() throws Exception {
210232
Client client = Client.builder(apiKey, secret).build();
211233

212-
Reaction data =
234+
Activity activity =
235+
client
236+
.flatFeed("user", "reactor")
237+
.addActivity(
238+
Activity.builder().actor("test").verb("post").object("test").build())
239+
.join();
240+
241+
Reaction safe =
213242
Reaction.builder()
214-
.id("b5c46f9b-0839-4207-86aa-6a7f388b7748")
215-
.kind("like")
216-
.extraField("key", "value")
243+
.activityID(activity.getID())
244+
.kind("comment")
245+
.userID("test-user")
246+
.extraField("text", "safe text")
247+
.moderationTemplate("moderation_template_reaction")
248+
.build();
249+
Reaction created = client.reactions().add("test-user", safe).join();
250+
assertNotNull(created.getModerationResponse());
251+
assertEquals("keep", created.getModerationResponse().getRecommendedAction());
252+
253+
Reaction blockedUpdate =
254+
Reaction.builder()
255+
.id(created.getId())
256+
.kind("comment")
257+
.extraField("text", "pissoar")
258+
.moderationTemplate("moderation_template_reaction")
217259
.build();
218260
client
219261
.reactions()
220262
.update(
221-
data,
222-
new FeedID[] {new FeedID("flat", "1")},
263+
blockedUpdate,
264+
new FeedID[0],
223265
new CustomQueryParameter("skip_moderation", "true"))
224266
.join();
267+
268+
Reaction fetched = client.reactions().get(created.getId()).join();
269+
ModerationResponse m = fetched.getModerationResponse();
270+
assertEquals("keep", m.getRecommendedAction());
225271
}
226272

227273
@Test

0 commit comments

Comments
 (0)