Skip to content

Commit 71f1d80

Browse files
committed
Cleaned up MockMessageHandler
1 parent 71958bc commit 71f1d80

File tree

7 files changed

+145
-105
lines changed

7 files changed

+145
-105
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.Request);
66+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
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.Request);
206+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
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.Request);
267+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<Dictionary<string, object>>(handler.RequestBody);
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.Request);
308+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
331+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
360+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
378+
Assert.Null(handler.RequestBody);
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.Request);
393+
Assert.Null(handler.RequestBody);
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.Request);
408+
Assert.Null(handler.RequestBody);
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.Request);
423+
Assert.Null(handler.RequestBody);
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.Request);
438+
Assert.Null(handler.RequestBody);
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.Request);
456+
Assert.Null(handler.RequestBody);
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.Request);
471+
Assert.Null(handler.RequestBody);
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.Request);
486+
Assert.Null(handler.RequestBody);
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.Request);
501+
Assert.Null(handler.RequestBody);
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.Request);
542+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
570+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
589+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
609+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
635+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
673+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
690+
var request = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>(handler.RequestBody);
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.Request);
755+
Assert.Null(handler.RequestBody);
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.Request);
771+
Assert.Null(handler.RequestBody);
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.Request);
787+
Assert.Null(handler.RequestBody);
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.Request);
803+
Assert.Null(handler.RequestBody);
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.Request);
822+
Assert.Null(handler.RequestBody);
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.Request);
838+
Assert.Null(handler.RequestBody);
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.Request);
854+
Assert.Null(handler.RequestBody);
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.Request);
870+
Assert.Null(handler.RequestBody);
871871
}
872872

873873
[Fact]

FirebaseAdmin/FirebaseAdmin.Tests/Auth/HttpPublicKeySourceTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public async Task GetPublicKeysWithCaching()
5858
var handler = new MockMessageHandler()
5959
{
6060
Response = File.ReadAllBytes("./resources/public_keys.json"),
61-
ApplyHeaders = (header) => header.CacheControl = cacheControl,
61+
ApplyHeaders = (header, _) => header.CacheControl = cacheControl,
6262
};
6363
var clientFactory = new MockHttpClientFactory(handler);
6464
var keyManager = new HttpPublicKeySource(

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.Request);
57+
handler.RequestBody);
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.Request);
102+
handler.RequestBody);
103103
Assert.Equal(Convert.ToBase64String(data), req.BytesToSign);
104104
Assert.Equal(1, handler.Calls);
105105
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2019, Google Inc. All rights reserved.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
using System.Net.Http;
16+
using System.Threading;
17+
using System.Threading.Tasks;
18+
19+
namespace FirebaseAdmin.Tests
20+
{
21+
/// <summary>
22+
/// An <see cref="HttpMessageHandler"/> implementation that counts the number of requests
23+
/// processed.
24+
/// </summary>
25+
internal abstract class CountingMessageHandler : HttpMessageHandler
26+
{
27+
private int calls;
28+
29+
public int Calls
30+
{
31+
get => this.calls;
32+
}
33+
34+
protected sealed override Task<HttpResponseMessage> SendAsync(
35+
HttpRequestMessage request, CancellationToken cancellationToken)
36+
{
37+
var count = Interlocked.Increment(ref this.calls);
38+
return this.DoSendAsync(request, count, cancellationToken);
39+
}
40+
41+
protected abstract Task<HttpResponseMessage> DoSendAsync(
42+
HttpRequestMessage request, int count, CancellationToken cancellationToken);
43+
}
44+
}

0 commit comments

Comments
 (0)