Skip to content

Commit adf065d

Browse files
committed
Support for simulating multiple requests
1 parent 71f1d80 commit adf065d

File tree

4 files changed

+94
-54
lines changed

4 files changed

+94
-54
lines changed

FirebaseAdmin/FirebaseAdmin.Tests/Auth/FirebaseUserManagerTest.cs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public async Task GetUserById()
6363
Assert.Null(userRecord.UserMetaData.CreationTimestamp);
6464
Assert.Null(userRecord.UserMetaData.LastSignInTimestamp);
6565

66-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
66+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.LastRequestBody);
6767
Assert.Equal(new JArray("user1"), request["localId"]);
6868
}
6969

@@ -203,7 +203,7 @@ public async Task GetUserByEmail()
203203
Assert.Null(userRecord.UserMetaData.CreationTimestamp);
204204
Assert.Null(userRecord.UserMetaData.LastSignInTimestamp);
205205

206-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
206+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.LastRequestBody);
207207
Assert.Equal(new JArray("[email protected]"), request["email"]);
208208
}
209209

@@ -264,7 +264,7 @@ public async Task GetUserByPhoneNumber()
264264
Assert.Null(userRecord.UserMetaData.CreationTimestamp);
265265
Assert.Null(userRecord.UserMetaData.LastSignInTimestamp);
266266

267-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
267+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.LastRequestBody);
268268
Assert.Equal(new JArray("+1234567890"), request["phoneNumber"]);
269269
}
270270

@@ -305,7 +305,7 @@ public async Task CreateUser()
305305
var uid = await userManager.CreateUserAsync(new UserRecordArgs());
306306

307307
Assert.Equal("user1", uid);
308-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
308+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
309309
Assert.Empty(request);
310310
}
311311

@@ -328,7 +328,7 @@ public async Task CreateUserWithArgs()
328328
});
329329

330330
Assert.Equal("user1", uid);
331-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
331+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
332332
Assert.True((bool)request["disabled"]);
333333
Assert.Equal("Test User", request["displayName"]);
334334
Assert.Equal("[email protected]", request["email"]);
@@ -357,7 +357,7 @@ public async Task CreateUserWithExplicitDefaults()
357357
});
358358

359359
Assert.Equal("user1", uid);
360-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
360+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
361361
Assert.Equal(2, request.Count);
362362
Assert.False((bool)request["disabled"]);
363363
Assert.False((bool)request["emailVerified"]);
@@ -375,7 +375,7 @@ public async Task CreateUserEmptyUid()
375375

376376
await Assert.ThrowsAsync<ArgumentException>(
377377
async () => await userManager.CreateUserAsync(args));
378-
Assert.Null(handler.RequestBody);
378+
Assert.Null(handler.LastRequestBody);
379379
}
380380

381381
[Fact]
@@ -390,7 +390,7 @@ public async Task CreateUserLongUid()
390390

391391
await Assert.ThrowsAsync<ArgumentException>(
392392
async () => await userManager.CreateUserAsync(args));
393-
Assert.Null(handler.RequestBody);
393+
Assert.Null(handler.LastRequestBody);
394394
}
395395

396396
[Fact]
@@ -405,7 +405,7 @@ public async Task CreateUserEmptyEmail()
405405

406406
await Assert.ThrowsAsync<ArgumentException>(
407407
async () => await userManager.CreateUserAsync(args));
408-
Assert.Null(handler.RequestBody);
408+
Assert.Null(handler.LastRequestBody);
409409
}
410410

411411
[Fact]
@@ -420,7 +420,7 @@ public async Task CreateUserInvalidEmail()
420420

421421
await Assert.ThrowsAsync<ArgumentException>(
422422
async () => await userManager.CreateUserAsync(args));
423-
Assert.Null(handler.RequestBody);
423+
Assert.Null(handler.LastRequestBody);
424424
}
425425

426426
[Fact]
@@ -435,7 +435,7 @@ public async Task CreateUserEmptyPhoneNumber()
435435

436436
await Assert.ThrowsAsync<ArgumentException>(
437437
async () => await userManager.CreateUserAsync(args));
438-
Assert.Null(handler.RequestBody);
438+
Assert.Null(handler.LastRequestBody);
439439
}
440440

441441
[Fact]
@@ -453,7 +453,7 @@ public async Task CreateUserInvalidPhoneNumber()
453453
Assert.Equal(
454454
"Phone number must be a valid, E.164 compliant identifier starting with a '+' sign.",
455455
exception.Message);
456-
Assert.Null(handler.RequestBody);
456+
Assert.Null(handler.LastRequestBody);
457457
}
458458

459459
[Fact]
@@ -468,7 +468,7 @@ public async Task CreateUserEmptyPhotoUrl()
468468

469469
await Assert.ThrowsAsync<ArgumentException>(
470470
async () => await userManager.CreateUserAsync(args));
471-
Assert.Null(handler.RequestBody);
471+
Assert.Null(handler.LastRequestBody);
472472
}
473473

474474
[Fact]
@@ -483,7 +483,7 @@ public async Task CreateUserInvalidPhotoUrl()
483483

484484
var exception = await Assert.ThrowsAsync<ArgumentException>(
485485
async () => await userManager.CreateUserAsync(args));
486-
Assert.Null(handler.RequestBody);
486+
Assert.Null(handler.LastRequestBody);
487487
}
488488

489489
[Fact]
@@ -498,7 +498,7 @@ public async Task CreateUserShortPassword()
498498

499499
var exception = await Assert.ThrowsAsync<ArgumentException>(
500500
async () => await userManager.CreateUserAsync(args));
501-
Assert.Null(handler.RequestBody);
501+
Assert.Null(handler.LastRequestBody);
502502
}
503503

504504
[Fact]
@@ -539,7 +539,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
539539
Uid = "user1",
540540
});
541541

542-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
542+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
543543
Assert.Equal("user1", request["localId"]);
544544
Assert.True((bool)request["disableUser"]);
545545
Assert.Equal("Test User", request["displayName"]);
@@ -567,7 +567,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
567567
Uid = "user1",
568568
});
569569

570-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
570+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
571571
Assert.Equal(2, request.Count);
572572
Assert.Equal("user1", request["localId"]);
573573
Assert.True((bool)request["emailVerified"]);
@@ -586,7 +586,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
586586
Uid = "user1",
587587
});
588588

589-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
589+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
590590
Assert.Equal(2, request.Count);
591591
Assert.Equal("user1", request["localId"]);
592592
Assert.Equal(
@@ -606,7 +606,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
606606
Uid = "user1",
607607
});
608608

609-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
609+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
610610
Assert.Equal(2, request.Count);
611611
Assert.Equal("user1", request["localId"]);
612612
Assert.Equal(
@@ -632,7 +632,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
632632
CustomClaims = customClaims,
633633
});
634634

635-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
635+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
636636
Assert.Equal(2, request.Count);
637637
Assert.Equal("user1", request["localId"]);
638638
var claims = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>((string)request["customAttributes"]);
@@ -670,7 +670,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
670670
CustomClaims = new Dictionary<string, object>(),
671671
});
672672

673-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
673+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
674674
Assert.Equal("user1", request["localId"]);
675675
Assert.Equal("{}", request["customAttributes"]);
676676
}
@@ -687,7 +687,7 @@ await userManager.UpdateUserAsync(new UserRecordArgs()
687687
CustomClaims = null,
688688
});
689689

690-
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
690+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.LastRequestBody);
691691
Assert.Equal("user1", request["localId"]);
692692
Assert.Equal("{}", request["customAttributes"]);
693693
}
@@ -752,7 +752,7 @@ public async Task UpdateUserEmptyUid()
752752
};
753753

754754
await Assert.ThrowsAsync<ArgumentException>(async () => await userManager.UpdateUserAsync(args));
755-
Assert.Null(handler.RequestBody);
755+
Assert.Null(handler.LastRequestBody);
756756
}
757757

758758
[Fact]
@@ -768,7 +768,7 @@ public async Task UpdateUserEmptyEmail()
768768

769769
await Assert.ThrowsAsync<ArgumentException>(
770770
async () => await userManager.UpdateUserAsync(args));
771-
Assert.Null(handler.RequestBody);
771+
Assert.Null(handler.LastRequestBody);
772772
}
773773

774774
[Fact]
@@ -784,7 +784,7 @@ public async Task UpdateUserInvalidEmail()
784784

785785
await Assert.ThrowsAsync<ArgumentException>(
786786
async () => await userManager.UpdateUserAsync(args));
787-
Assert.Null(handler.RequestBody);
787+
Assert.Null(handler.LastRequestBody);
788788
}
789789

790790
[Fact]
@@ -800,7 +800,7 @@ public async Task UpdateUserEmptyPhoneNumber()
800800

801801
await Assert.ThrowsAsync<ArgumentException>(
802802
async () => await userManager.UpdateUserAsync(args));
803-
Assert.Null(handler.RequestBody);
803+
Assert.Null(handler.LastRequestBody);
804804
}
805805

806806
[Fact]
@@ -819,7 +819,7 @@ public async Task UpdateUserInvalidPhoneNumber()
819819
Assert.Equal(
820820
"Phone number must be a valid, E.164 compliant identifier starting with a '+' sign.",
821821
exception.Message);
822-
Assert.Null(handler.RequestBody);
822+
Assert.Null(handler.LastRequestBody);
823823
}
824824

825825
[Fact]
@@ -835,7 +835,7 @@ public async Task UpdateUserEmptyPhotoUrl()
835835

836836
await Assert.ThrowsAsync<ArgumentException>(
837837
async () => await userManager.UpdateUserAsync(args));
838-
Assert.Null(handler.RequestBody);
838+
Assert.Null(handler.LastRequestBody);
839839
}
840840

841841
[Fact]
@@ -851,7 +851,7 @@ public async Task UpdateUserInvalidPhotoUrl()
851851

852852
var exception = await Assert.ThrowsAsync<ArgumentException>(
853853
async () => await userManager.UpdateUserAsync(args));
854-
Assert.Null(handler.RequestBody);
854+
Assert.Null(handler.LastRequestBody);
855855
}
856856

857857
[Fact]
@@ -867,7 +867,7 @@ public async Task UpdateUserShortPassword()
867867

868868
var exception = await Assert.ThrowsAsync<ArgumentException>(
869869
async () => await userManager.UpdateUserAsync(args));
870-
Assert.Null(handler.RequestBody);
870+
Assert.Null(handler.LastRequestBody);
871871
}
872872

873873
[Fact]

FirebaseAdmin/FirebaseAdmin.Tests/Auth/IAMSignerTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public async Task Signer()
5454
byte[] signature = await signer.SignDataAsync(data);
5555
Assert.Equal(bytes, signature);
5656
var req = NewtonsoftJsonSerializer.Instance.Deserialize<IAMSigner.SignBlobRequest>(
57-
handler.RequestBody);
57+
handler.LastRequestBody);
5858
Assert.Equal(Convert.ToBase64String(data), req.BytesToSign);
5959
Assert.Equal(2, handler.Calls);
6060
}
@@ -99,7 +99,7 @@ public async Task Signer()
9999
byte[] signature = await signer.SignDataAsync(data);
100100
Assert.Equal(bytes, signature);
101101
var req = NewtonsoftJsonSerializer.Instance.Deserialize<IAMSigner.SignBlobRequest>(
102-
handler.RequestBody);
102+
handler.LastRequestBody);
103103
Assert.Equal(Convert.ToBase64String(data), req.BytesToSign);
104104
Assert.Equal(1, handler.Calls);
105105
}

FirebaseAdmin/FirebaseAdmin.Tests/Messaging/FirebaseMessagingClientTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ public async Task SendAsync()
7575
var response = await client.SendAsync(message);
7676

7777
Assert.Equal("test-response", response);
78-
var req = JsonConvert.DeserializeObject<FirebaseMessagingClient.SendRequest>(handler.RequestBody);
78+
var req = JsonConvert.DeserializeObject<FirebaseMessagingClient.SendRequest>(handler.LastRequestBody);
7979
Assert.Equal("test-topic", req.Message.Topic);
8080
Assert.False(req.ValidateOnly);
8181
Assert.Equal(1, handler.Calls);
82-
var versionHeader = handler.RequestHeaders.GetValues("X-Firebase-Client").First();
82+
var versionHeader = handler.LastRequestHeaders.GetValues("X-Firebase-Client").First();
8383
Assert.Equal(FirebaseMessagingClient.ClientVersion, versionHeader);
8484
}
8585

@@ -103,11 +103,11 @@ public async Task SendDryRunAsync()
103103
var response = await client.SendAsync(message, dryRun: true);
104104

105105
Assert.Equal("test-response", response);
106-
var req = JsonConvert.DeserializeObject<FirebaseMessagingClient.SendRequest>(handler.RequestBody);
106+
var req = JsonConvert.DeserializeObject<FirebaseMessagingClient.SendRequest>(handler.LastRequestBody);
107107
Assert.Equal("test-topic", req.Message.Topic);
108108
Assert.True(req.ValidateOnly);
109109
Assert.Equal(1, handler.Calls);
110-
var versionHeader = handler.RequestHeaders.GetValues("X-Firebase-Client").First();
110+
var versionHeader = handler.LastRequestHeaders.GetValues("X-Firebase-Client").First();
111111
Assert.Equal(FirebaseMessagingClient.ClientVersion, versionHeader);
112112
}
113113

@@ -172,7 +172,7 @@ public async Task SendAllAsync()
172172
Assert.Equal("projects/fir-adminintegrationtests/messages/5903525881088369386", response.Responses[1].MessageId);
173173
Assert.Equal(1, handler.Calls);
174174
var versionHeader = $"X-Firebase-Client: {FirebaseMessagingClient.ClientVersion}";
175-
Assert.Equal(2, this.CountLinesWithPrefix(handler.RequestBody, versionHeader));
175+
Assert.Equal(2, this.CountLinesWithPrefix(handler.LastRequestBody, versionHeader));
176176
}
177177

178178
[Fact]
@@ -248,7 +248,7 @@ public async Task SendAllAsyncWithError()
248248
Assert.NotNull(response.Responses[1].Exception);
249249
Assert.Equal(1, handler.Calls);
250250
var versionHeader = $"X-Firebase-Client: {FirebaseMessagingClient.ClientVersion}";
251-
Assert.Equal(2, this.CountLinesWithPrefix(handler.RequestBody, versionHeader));
251+
Assert.Equal(2, this.CountLinesWithPrefix(handler.LastRequestBody, versionHeader));
252252
}
253253

254254
[Fact]
@@ -295,7 +295,7 @@ public async Task HttpErrorAsync()
295295
async () => await client.SendAsync(message));
296296
Assert.Contains("not json", ex.Message);
297297
var req = JsonConvert.DeserializeObject<FirebaseMessagingClient.SendRequest>(
298-
handler.RequestBody);
298+
handler.LastRequestBody);
299299
Assert.Equal("test-topic", req.Message.Topic);
300300
Assert.False(req.ValidateOnly);
301301
Assert.Equal(1, handler.Calls);

0 commit comments

Comments
 (0)