@@ -6,7 +6,6 @@ import kotlinx.coroutines.Dispatchers
6
6
import kotlinx.coroutines.launch
7
7
import kotlinx.coroutines.runBlocking
8
8
import org.junit.Assert.assertEquals
9
- import org.junit.Ignore
10
9
import org.junit.Test
11
10
import org.junit.runner.RunWith
12
11
import org.xmtp.android.library.codecs.TextCodec
@@ -79,15 +78,15 @@ class ConversationsTest {
79
78
}
80
79
81
80
@Test
82
- @Ignore(" CI Issues" )
83
81
fun testStreamAllMessages () {
84
82
val bo = PrivateKeyBuilder ()
85
83
val alix = PrivateKeyBuilder ()
86
84
val clientOptions =
87
85
ClientOptions (api = ClientOptions .Api (env = XMTPEnvironment .LOCAL , isSecure = false ))
88
86
val boClient = Client ().create(bo, clientOptions)
89
87
val alixClient = Client ().create(alix, clientOptions)
90
- val boConversation = runBlocking { boClient.conversations.newConversation(alixClient.address) }
88
+ val boConversation =
89
+ runBlocking { boClient.conversations.newConversation(alixClient.address) }
91
90
92
91
// Record message stream across all conversations
93
92
val allMessages = mutableListOf<DecodedMessage >()
@@ -97,7 +96,8 @@ class ConversationsTest {
97
96
alixClient.conversations.streamAllMessages().collect { message ->
98
97
allMessages.add(message)
99
98
}
100
- } catch (e: Exception ) {}
99
+ } catch (e: Exception ) {
100
+ }
101
101
}
102
102
sleep(2500 )
103
103
@@ -109,7 +109,8 @@ class ConversationsTest {
109
109
110
110
val caro = PrivateKeyBuilder ()
111
111
val caroClient = Client ().create(caro, clientOptions)
112
- val caroConversation = runBlocking { caroClient.conversations.newConversation(alixClient.address) }
112
+ val caroConversation =
113
+ runBlocking { caroClient.conversations.newConversation(alixClient.address) }
113
114
sleep(2500 )
114
115
115
116
for (i in 0 until 5 ) {
@@ -138,4 +139,37 @@ class ConversationsTest {
138
139
139
140
assertEquals(allMessages.size, 15 )
140
141
}
142
+
143
+ @Test
144
+ fun testStreamTimeOutsAllMessages () {
145
+ val bo = PrivateKeyBuilder ()
146
+ val alix = PrivateKeyBuilder ()
147
+ val clientOptions =
148
+ ClientOptions (api = ClientOptions .Api (env = XMTPEnvironment .LOCAL , isSecure = false ))
149
+ val boClient = Client ().create(bo, clientOptions)
150
+ val alixClient = Client ().create(alix, clientOptions)
151
+ val boConversation =
152
+ runBlocking { boClient.conversations.newConversation(alixClient.address) }
153
+
154
+ // Record message stream across all conversations
155
+ val allMessages = mutableListOf<DecodedMessage >()
156
+
157
+ val job = CoroutineScope (Dispatchers .IO ).launch {
158
+ try {
159
+ alixClient.conversations.streamAllMessages().collect { message ->
160
+ allMessages.add(message)
161
+ }
162
+ } catch (e: Exception ) {
163
+ }
164
+ }
165
+ sleep(2500 )
166
+
167
+ runBlocking { boConversation.send(text = " first message" ) }
168
+ sleep(2000 )
169
+ assertEquals(allMessages.size, 1 )
170
+ sleep(121000 )
171
+ runBlocking { boConversation.send(text = " second message" ) }
172
+ sleep(2000 )
173
+ assertEquals(allMessages.size, 2 )
174
+ }
141
175
}
0 commit comments