1+ package io .getstream .client ;
2+
3+ import static org .junit .Assert .*;
4+
5+ import io .getstream .core .BatchDeleteActivities ;
6+ import io .getstream .core .http .HTTPClient ;
7+ import io .getstream .core .models .BatchDeleteActivitiesRequest ;
8+ import io .getstream .core .models .BatchDeleteActivitiesRequest .ActivityToDelete ;
9+ import io .getstream .core .models .Activity ;
10+ import java8 .util .concurrent .CompletableFuture ;
11+ import org .junit .*;
12+
13+ import java .net .URL ;
14+ import java .util .Arrays ;
15+ import java .util .List ;
16+
17+ public class BatchDeleteActivitiesTest {
18+
19+ private static final String apiKey =
20+ System .getenv ("STREAM_KEY" ) != null
21+ ? System .getenv ("STREAM_KEY" )
22+ : System .getProperty ("STREAM_KEY" );
23+ private static final String secret =
24+ System .getenv ("STREAM_SECRET" ) != null
25+ ? System .getenv ("STREAM_SECRET" )
26+ : System .getProperty ("STREAM_SECRET" );
27+
28+ private Client client ;
29+
30+ @ Before
31+ public void setUp () throws Exception {
32+ client = Client .builder (apiKey , secret ).build ();
33+ }
34+
35+ @ Test
36+ public void testDeleteActivities () throws Exception {
37+ BatchDeleteActivitiesClient batchDeleteClient = client .batchDeleteActivities ();
38+
39+ // Insert some activities
40+ Activity activity1 = Activity .builder ()
41+ .actor ("user1" )
42+ .verb ("post" )
43+ .object ("object1" )
44+ .build ();
45+ Activity activity1Res = client .flatFeed ("user" , "user1" ).addActivity (activity1 ).join ();
46+
47+ Activity activity2 = Activity .builder ()
48+ .actor ("user1" )
49+ .verb ("like" )
50+ .object ("object2" )
51+ .build ();
52+ Activity activity2Res = client .flatFeed ("user" , "user1" ).addActivity (activity2 ).join ();
53+
54+ // Create delete request
55+ List <ActivityToDelete > activities = Arrays .asList (
56+ new ActivityToDelete (activity1Res .getID (), Arrays .asList ("user1" )),
57+ new ActivityToDelete (activity2Res .getID (), Arrays .asList ("user1" ))
58+ );
59+ BatchClient clientBatch = Client .builder (apiKey , secret ).build ().batch ();
60+
61+ // Verify activities are inserted
62+ List <Activity > activity1Resp = clientBatch .getActivitiesByID (activity1Res .getID ()).join ();
63+ assertEquals (1 , activity1Resp .size ());
64+
65+ List <Activity > activity2Resp = clientBatch .getActivitiesByID (activity2Res .getID ()).join ();
66+ assertEquals (1 , activity2Resp .size ());
67+
68+ BatchDeleteActivitiesRequest request = new BatchDeleteActivitiesRequest (activities );
69+
70+ // Delete activities
71+ CompletableFuture <Object > future = batchDeleteClient .deleteActivities (request );
72+ future .join ();
73+
74+ assertTrue (future .isDone ());
75+
76+ // Verify activities are deleted
77+ List <Activity > deletedActivity1 = clientBatch .getActivitiesByID (activity1Res .getID ()).join ();
78+ assertEquals (0 , deletedActivity1 .size ());
79+
80+ List <Activity > deletedActivity2 = clientBatch .getActivitiesByID (activity2Res .getID ()).join ();
81+ assertEquals (0 , deletedActivity2 .size ());
82+ }
83+ }
0 commit comments