1+ using NUnit . Framework ;
2+ using Stream ;
3+ using System ;
4+ using System . Collections . Generic ;
5+ using System . Linq ;
6+ using System . Threading . Tasks ;
7+
8+ namespace StreamNetTests
9+ {
10+ [ TestFixture ]
11+ public class UsersBatchTests : TestBase
12+ {
13+ [ Test ]
14+ public async Task TestAddGetUsersAsync ( )
15+ {
16+ var userIds = new List < string > { Guid . NewGuid ( ) . ToString ( ) , Guid . NewGuid ( ) . ToString ( ) } ;
17+
18+ var users = new List < User >
19+ {
20+ new User { Id = userIds [ 0 ] , Data = new Dictionary < string , object > { { "field" , "value1" } } } ,
21+ new User { Id = userIds [ 1 ] , Data = new Dictionary < string , object > { { "field" , "value2" } } } ,
22+ } ;
23+
24+ var response = await Client . UsersBatch . UpsertUsersAsync ( users ) ;
25+
26+ Assert . NotNull ( response ) ;
27+ Assert . AreEqual ( users . Count , response . Count ( ) ) ;
28+
29+ var usersReturned = await Client . UsersBatch . GetUsersAsync ( userIds ) ;
30+
31+ Assert . NotNull ( usersReturned ) ;
32+ Assert . AreEqual ( userIds . Count , usersReturned . Count ( ) ) ;
33+ }
34+
35+ [ Test ]
36+ public async Task TestDeleteUsersAsync ( )
37+ {
38+ var userIds = new List < string > { Guid . NewGuid ( ) . ToString ( ) , Guid . NewGuid ( ) . ToString ( ) } ;
39+
40+ var deletedUserIds = await Client . UsersBatch . DeleteUsersAsync ( userIds ) ;
41+
42+ Assert . NotNull ( deletedUserIds ) ;
43+ Assert . AreEqual ( userIds . Count , deletedUserIds . Count ( ) ) ;
44+ Assert . IsTrue ( userIds . All ( id => deletedUserIds . Contains ( id ) ) ) ;
45+ }
46+
47+ [ Test ]
48+ public async Task AddGetDeleteGetUsersAsync ( )
49+ {
50+ var userIds = new List < string > { Guid . NewGuid ( ) . ToString ( ) , Guid . NewGuid ( ) . ToString ( ) } ;
51+
52+ // Add users
53+ var users = new List < User >
54+ {
55+ new User { Id = userIds [ 0 ] , Data = new Dictionary < string , object > { { "field" , "value1" } } } ,
56+ new User { Id = userIds [ 1 ] , Data = new Dictionary < string , object > { { "field" , "value2" } } } ,
57+ } ;
58+
59+ var addResponse = await Client . UsersBatch . UpsertUsersAsync ( users ) ;
60+ Assert . NotNull ( addResponse ) ;
61+ Assert . AreEqual ( users . Count , addResponse . Count ( ) ) ;
62+
63+ // Get users to confirm they were added
64+ var getUsersResponse = await Client . UsersBatch . GetUsersAsync ( userIds ) ;
65+ Assert . NotNull ( getUsersResponse ) ;
66+ Assert . AreEqual ( users . Count , getUsersResponse . Count ( ) ) ;
67+
68+ // Delete users
69+ var deleteResponse = await Client . UsersBatch . DeleteUsersAsync ( userIds ) ;
70+ Assert . NotNull ( deleteResponse ) ;
71+ Assert . AreEqual ( userIds . Count ( ) , deleteResponse . Count ( ) ) ;
72+ Assert . IsTrue ( userIds . All ( id => deleteResponse . Contains ( id ) ) ) ;
73+
74+ // Attempt to get deleted users to confirm they were deleted
75+ var getDeletedUsersResponse = await Client . UsersBatch . GetUsersAsync ( userIds ) ;
76+ Assert . IsEmpty ( getDeletedUsersResponse ) ;
77+ }
78+ }
79+ }
0 commit comments