29
29
import androidx .test .core .app .ApplicationProvider ;
30
30
import androidx .test .ext .junit .runners .AndroidJUnit4 ;
31
31
import com .google .android .gms .tasks .Task ;
32
+ import com .google .firebase .firestore .auth .CredentialsProvider ;
33
+ import com .google .firebase .firestore .auth .User ;
34
+ import com .google .firebase .firestore .core .DatabaseInfo ;
32
35
import com .google .firebase .firestore .model .SnapshotVersion ;
33
36
import com .google .firebase .firestore .model .mutation .Mutation ;
34
37
import com .google .firebase .firestore .model .mutation .MutationResult ;
@@ -109,14 +112,16 @@ public void onWriteResponse(
109
112
/** Creates a WriteStream and gets it in a state that accepts mutations. */
110
113
private WriteStream createAndOpenWriteStream (
111
114
AsyncQueue testQueue , StreamStatusCallback callback ) {
112
- Datastore datastore =
113
- new Datastore (
114
- IntegrationTestUtil . testEnvDatabaseInfo (),
115
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
116
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
117
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
115
118
testQueue ,
116
- new EmptyCredentialsProvider (),
117
- new EmptyAppCheckTokenProvider (),
118
119
ApplicationProvider .getApplicationContext (),
119
- null );
120
+ null == null ? new EmptyCredentialsProvider () : null ,
121
+ new EmptyAppCheckTokenProvider (),
122
+ databaseInfo ,
123
+ (GrpcMetadataProvider ) null );
124
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
120
125
final WriteStream writeStream = datastore .createWriteStream (callback );
121
126
waitForWriteStreamOpen (testQueue , writeStream , callback );
122
127
return writeStream ;
@@ -135,14 +140,16 @@ private void waitForWriteStreamOpen(
135
140
public void testWatchStreamStopBeforeHandshake () throws Exception {
136
141
AsyncQueue testQueue = new AsyncQueue ();
137
142
GrpcMetadataProvider mockGrpcProvider = mock (GrpcMetadataProvider .class );
138
- Datastore datastore =
139
- new Datastore (
140
- IntegrationTestUtil . testEnvDatabaseInfo (),
143
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
144
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
145
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
141
146
testQueue ,
147
+ ApplicationProvider .getApplicationContext (),
142
148
new EmptyCredentialsProvider (),
143
149
new EmptyAppCheckTokenProvider (),
144
- ApplicationProvider . getApplicationContext () ,
150
+ databaseInfo ,
145
151
mockGrpcProvider );
152
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
146
153
StreamStatusCallback streamCallback = new StreamStatusCallback () {};
147
154
final WatchStream watchStream = datastore .createWatchStream (streamCallback );
148
155
@@ -158,14 +165,16 @@ public void testWatchStreamStopBeforeHandshake() throws Exception {
158
165
@ Test
159
166
public void testWriteStreamStopAfterHandshake () throws Exception {
160
167
AsyncQueue testQueue = new AsyncQueue ();
161
- Datastore datastore =
162
- new Datastore (
163
- IntegrationTestUtil . testEnvDatabaseInfo (),
168
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
169
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
170
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
164
171
testQueue ,
172
+ ApplicationProvider .getApplicationContext (),
165
173
new EmptyCredentialsProvider (),
166
174
new EmptyAppCheckTokenProvider (),
167
- ApplicationProvider .getApplicationContext (),
168
- null );
175
+ databaseInfo ,
176
+ (GrpcMetadataProvider ) null );
177
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
169
178
final WriteStream [] writeStreamWrapper = new WriteStream [1 ];
170
179
StreamStatusCallback streamCallback =
171
180
new StreamStatusCallback () {
@@ -206,14 +215,16 @@ public void onWriteResponse(
206
215
@ Test
207
216
public void testWriteStreamStopPartial () throws Exception {
208
217
AsyncQueue testQueue = new AsyncQueue ();
209
- Datastore datastore =
210
- new Datastore (
211
- IntegrationTestUtil . testEnvDatabaseInfo (),
218
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
219
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
220
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
212
221
testQueue ,
222
+ ApplicationProvider .getApplicationContext (),
213
223
new EmptyCredentialsProvider (),
214
224
new EmptyAppCheckTokenProvider (),
215
- ApplicationProvider .getApplicationContext (),
216
- null );
225
+ databaseInfo ,
226
+ (GrpcMetadataProvider ) null );
227
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
217
228
StreamStatusCallback streamCallback = new StreamStatusCallback () {};
218
229
final WriteStream writeStream = datastore .createWriteStream (streamCallback );
219
230
@@ -287,14 +298,16 @@ public void testStreamStaysIdle() throws Exception {
287
298
public void testStreamRefreshesTokenUponExpiration () throws Exception {
288
299
AsyncQueue testQueue = new AsyncQueue ();
289
300
MockCredentialsProvider mockCredentialsProvider = new MockCredentialsProvider ();
290
- Datastore datastore =
291
- new Datastore (
292
- IntegrationTestUtil . testEnvDatabaseInfo (),
301
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
302
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
303
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
293
304
testQueue ,
305
+ ApplicationProvider .getApplicationContext (),
294
306
mockCredentialsProvider ,
295
307
new EmptyAppCheckTokenProvider (),
296
- ApplicationProvider .getApplicationContext (),
297
- null );
308
+ databaseInfo ,
309
+ (GrpcMetadataProvider ) null );
310
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
298
311
StreamStatusCallback callback = new StreamStatusCallback ();
299
312
WriteStream writeStream = datastore .createWriteStream (callback );
300
313
waitForWriteStreamOpen (testQueue , writeStream , callback );
@@ -317,14 +330,16 @@ public void testStreamRefreshesTokenUponExpiration() throws Exception {
317
330
public void testTokenIsNotInvalidatedOnceStreamIsHealthy () throws Exception {
318
331
AsyncQueue testQueue = new AsyncQueue ();
319
332
MockCredentialsProvider mockCredentialsProvider = new MockCredentialsProvider ();
320
- Datastore datastore =
321
- new Datastore (
322
- IntegrationTestUtil . testEnvDatabaseInfo (),
333
+ DatabaseInfo databaseInfo = IntegrationTestUtil . testEnvDatabaseInfo ();
334
+ RemoteSerializer remoteSerializer = new RemoteSerializer ( databaseInfo . getDatabaseId ());
335
+ FirestoreChannel firestoreChannel = new FirestoreChannel (
323
336
testQueue ,
337
+ ApplicationProvider .getApplicationContext (),
324
338
mockCredentialsProvider ,
325
339
new EmptyAppCheckTokenProvider (),
326
- ApplicationProvider .getApplicationContext (),
327
- null );
340
+ databaseInfo ,
341
+ (GrpcMetadataProvider ) null );
342
+ Datastore datastore = new Datastore (testQueue , remoteSerializer , firestoreChannel );
328
343
StreamStatusCallback callback = new StreamStatusCallback ();
329
344
WriteStream writeStream = datastore .createWriteStream (callback );
330
345
waitForWriteStreamOpen (testQueue , writeStream , callback );
0 commit comments