Skip to content

Commit 2a5e07f

Browse files
committed
Fix authentication refresh test identities
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a24ee9dd-34dc-456d-a884-16110ff745bd
1 parent d160138 commit 2a5e07f

1 file changed

Lines changed: 25 additions & 5 deletions

File tree

src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.AuthenticationRefresh.cs

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -839,10 +839,18 @@ public void UpdateUserInvokesUserRefreshedCallbackWithNewPrincipal()
839839
var manager = CreateConnectionManager(LoggerFactory);
840840
var connection = manager.CreateConnection(new HttpConnectionDispatcherOptions(), negotiateVersion: 1);
841841

842-
var originalUser = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("n", "old") }, "Test"));
842+
var originalUser = new ClaimsPrincipal(new ClaimsIdentity(
843+
[
844+
new Claim(ClaimTypes.NameIdentifier, "user"),
845+
new Claim("n", "old"),
846+
], "Test"));
843847
connection.User = originalUser;
844848

845-
var newUser = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("n", "new") }, "Test"));
849+
var newUser = new ClaimsPrincipal(new ClaimsIdentity(
850+
[
851+
new Claim(ClaimTypes.NameIdentifier, "user"),
852+
new Claim("n", "new"),
853+
], "Test"));
846854
ClaimsPrincipal capturedCurrent = null;
847855
var feature = connection.Features.Get<IConnectionUserRefreshFeature>();
848856
Assert.NotNull(feature);
@@ -1780,7 +1788,11 @@ public void UpdateUserSkipsOlderToken()
17801788
var manager = CreateConnectionManager(LoggerFactory);
17811789
var connection = manager.CreateConnection(new HttpConnectionDispatcherOptions(), negotiateVersion: 1);
17821790

1783-
var userA = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("name", "A") }, "Test"));
1791+
var userA = new ClaimsPrincipal(new ClaimsIdentity(
1792+
[
1793+
new Claim(ClaimTypes.NameIdentifier, "user"),
1794+
new Claim("name", "A"),
1795+
], "Test"));
17841796
var laterExpiration = DateTimeOffset.UtcNow.AddMinutes(30);
17851797
connection.UpdateUser(userA, laterExpiration);
17861798

@@ -1789,15 +1801,23 @@ public void UpdateUserSkipsOlderToken()
17891801
feature.OnUserRefreshed((_, state) => notified++, state: null);
17901802

17911803
// An older token must be skipped (no swap, no notification).
1792-
var userB = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("name", "B") }, "Test"));
1804+
var userB = new ClaimsPrincipal(new ClaimsIdentity(
1805+
[
1806+
new Claim(ClaimTypes.NameIdentifier, "user"),
1807+
new Claim("name", "B"),
1808+
], "Test"));
17931809
connection.UpdateUser(userB, DateTimeOffset.UtcNow.AddMinutes(5));
17941810

17951811
Assert.Same(userA, connection.User);
17961812
Assert.Equal(laterExpiration, connection.AuthenticationExpiration, TimeSpan.FromSeconds(1));
17971813
Assert.Equal(0, notified);
17981814

17991815
// A newer token is still applied.
1800-
var userC = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("name", "C") }, "Test"));
1816+
var userC = new ClaimsPrincipal(new ClaimsIdentity(
1817+
[
1818+
new Claim(ClaimTypes.NameIdentifier, "user"),
1819+
new Claim("name", "C"),
1820+
], "Test"));
18011821
var newerExpiration = DateTimeOffset.UtcNow.AddMinutes(60);
18021822
connection.UpdateUser(userC, newerExpiration);
18031823

0 commit comments

Comments
 (0)