From f378de31bf88029f8965ba1d8a8f3b26156447e8 Mon Sep 17 00:00:00 2001 From: jacalvar Date: Wed, 24 Apr 2024 16:03:15 +0200 Subject: [PATCH 1/5] Fix build break --- .../src/UserManagerSpecificationTests.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs index 317f6ee93b13..910314660239 100644 --- a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs +++ b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs @@ -581,9 +581,9 @@ public async Task CanCreateUserAddLogin() var logins = await manager.GetLoginsAsync(user); Assert.NotNull(logins); Assert.Single(logins); - Assert.Equal(provider, logins.First().LoginProvider); - Assert.Equal(providerKey, logins.First().ProviderKey); - Assert.Equal(display, logins.First().ProviderDisplayName); + Assert.Equal(provider, logins[0].LoginProvider); + Assert.Equal(providerKey, logins[0].ProviderKey); + Assert.Equal(display, logins[0].ProviderDisplayName); } /// @@ -644,9 +644,9 @@ public async Task CanCreateUserAddRemoveLogin() var logins = await manager.GetLoginsAsync(user); Assert.NotNull(logins); Assert.Single(logins); - Assert.Equal(login.LoginProvider, logins.Last().LoginProvider); - Assert.Equal(login.ProviderKey, logins.Last().ProviderKey); - Assert.Equal(login.ProviderDisplayName, logins.Last().ProviderDisplayName); + Assert.Equal(login.LoginProvider, logins[logins.Count - 1].LoginProvider); + Assert.Equal(login.ProviderKey, logins[logins.Count - 1].ProviderKey); + Assert.Equal(login.ProviderDisplayName, logins[logins.Count - 1].ProviderDisplayName); var stamp = await manager.GetSecurityStampAsync(user); IdentityResultAssert.IsSuccess(await manager.RemoveLoginAsync(user, login.LoginProvider, login.ProviderKey)); Assert.Null(await manager.FindByLoginAsync(login.LoginProvider, login.ProviderKey)); @@ -772,11 +772,11 @@ public async Task CanReplaceUserClaim() var userClaims = await manager.GetClaimsAsync(user); Assert.Equal(1, userClaims.Count); Claim claim = new Claim("c", "b"); - Claim oldClaim = userClaims.FirstOrDefault(); + Claim oldClaim = userClaims.Count == 0 ? null : userClaims[0]; IdentityResultAssert.IsSuccess(await manager.ReplaceClaimAsync(user, oldClaim, claim)); var newUserClaims = await manager.GetClaimsAsync(user); Assert.Equal(1, newUserClaims.Count); - Claim newClaim = newUserClaims.FirstOrDefault(); + Claim newClaim = newUserClaims.Count == 0 ? null : newUserClaims[0]; Assert.Equal(claim.Type, newClaim.Type); Assert.Equal(claim.Value, newClaim.Value); } @@ -800,16 +800,16 @@ public async Task ReplaceUserClaimOnlyAffectsUser() var userClaims2 = await manager.GetClaimsAsync(user); Assert.Equal(1, userClaims2.Count); Claim claim = new Claim("c", "b"); - Claim oldClaim = userClaims.FirstOrDefault(); + Claim oldClaim = userClaims.Count == 0 ? null : userClaims[0]; IdentityResultAssert.IsSuccess(await manager.ReplaceClaimAsync(user, oldClaim, claim)); var newUserClaims = await manager.GetClaimsAsync(user); Assert.Equal(1, newUserClaims.Count); - Claim newClaim = newUserClaims.FirstOrDefault(); + Claim newClaim = newUserClaims.Count == 0 ? null : newUserClaims[0]; Assert.Equal(claim.Type, newClaim.Type); Assert.Equal(claim.Value, newClaim.Value); userClaims2 = await manager.GetClaimsAsync(user2); Assert.Equal(1, userClaims2.Count); - Claim oldClaim2 = userClaims2.FirstOrDefault(); + Claim oldClaim2 = userClaims2.Count == 0 ? null : userClaims2[0]; Assert.Equal("c", oldClaim2.Type); Assert.Equal("a", oldClaim2.Value); } From edeb54589e906cc44013a244bff28a77b147c217 Mon Sep 17 00:00:00 2001 From: jacalvar Date: Wed, 24 Apr 2024 16:33:52 +0200 Subject: [PATCH 2/5] More break fixes --- .../src/ApplicationModels/ActionAttributeRouteModel.cs | 2 +- src/Servers/Kestrel/Core/src/KestrelServerOptions.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mvc/Mvc.Core/src/ApplicationModels/ActionAttributeRouteModel.cs b/src/Mvc/Mvc.Core/src/ApplicationModels/ActionAttributeRouteModel.cs index 235ac3583fa0..5afa959e0fb5 100644 --- a/src/Mvc/Mvc.Core/src/ApplicationModels/ActionAttributeRouteModel.cs +++ b/src/Mvc/Mvc.Core/src/ApplicationModels/ActionAttributeRouteModel.cs @@ -31,7 +31,7 @@ public static IEnumerable FlattenSelectors(ActionModel actionMode // // This is fragile wrt application model customizing the data - but no one has // run into an issue with this and its pretty esoteric. - additionalSelector = new SelectorModel(actionModel.Controller.Selectors.First()); + additionalSelector = new SelectorModel(actionModel.Controller.Selectors[0]); additionalSelector.AttributeRouteModel = null; for (var i = additionalSelector.ActionConstraints.Count - 1; i >= 0; i--) diff --git a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs index c2670be70067..88a127dc40f2 100644 --- a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs +++ b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs @@ -376,9 +376,9 @@ internal void Serialize(Utf8JsonWriter writer) { try { - var cert = CertificateManager.Instance.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: true, requireExportable: false) - .FirstOrDefault(); + var certs = CertificateManager.Instance.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: true, requireExportable: false); + var cert = certs.Count > 0 ? certs[0] : null; if (cert is null) { logger.UnableToLocateDevelopmentCertificate(); From 33c3af96ed97007749b5c49138a84ce9c2b6a619 Mon Sep 17 00:00:00 2001 From: jacalvar Date: Wed, 24 Apr 2024 17:14:35 +0200 Subject: [PATCH 3/5] More break fixes --- src/Servers/Kestrel/Core/src/KestrelServerOptions.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs index 88a127dc40f2..f16b35437001 100644 --- a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs +++ b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; -using System.Linq; using System.Net; using System.Security.Cryptography.X509Certificates; using System.Text; From 7c03168dcd3986c2bd952896b134229fd05d346f Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Thu, 25 Apr 2024 17:15:52 +0200 Subject: [PATCH 4/5] * Add workaround for shared framework dependencies * Cleanups --- eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs b/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs index e29e25581607..6f42d05e78c5 100644 --- a/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs +++ b/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs @@ -64,12 +64,17 @@ private void FilterDependencies(string targetPath, ISet dependencyToRemo var updatedGroup = new PackageDependencyGroup(group.TargetFramework, packages); foreach (var dependency in group.Packages) { - if (dependencyToRemove.Contains(dependency.Id)) + // Hack to temporarily avoid using ISet.Contains + if (!dependencyToRemove.Add(dependency.Id)) { referencesFrameworkOnlyAssembly = true; Log.LogMessage($" Remove dependency on '{dependency.Id}'"); continue; } + else + { + dependencyToRemove.Remove(dependency.Id); + } packages.Add(dependency); } @@ -107,4 +112,4 @@ private void FilterDependencies(string targetPath, ISet dependencyToRemo } } } -} +} \ No newline at end of file From c150b726d55bb5bcd9d8fc7b0819b6c57a4326e6 Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Thu, 25 Apr 2024 17:16:06 +0200 Subject: [PATCH 5/5] Cleanups --- .../src/UserManagerSpecificationTests.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs index 910314660239..4031bf5f2ba9 100644 --- a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs +++ b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs @@ -644,9 +644,9 @@ public async Task CanCreateUserAddRemoveLogin() var logins = await manager.GetLoginsAsync(user); Assert.NotNull(logins); Assert.Single(logins); - Assert.Equal(login.LoginProvider, logins[logins.Count - 1].LoginProvider); - Assert.Equal(login.ProviderKey, logins[logins.Count - 1].ProviderKey); - Assert.Equal(login.ProviderDisplayName, logins[logins.Count - 1].ProviderDisplayName); + Assert.Equal(login.LoginProvider, logins[^1].LoginProvider); + Assert.Equal(login.ProviderKey, logins[^1].ProviderKey); + Assert.Equal(login.ProviderDisplayName, logins[^1].ProviderDisplayName); var stamp = await manager.GetSecurityStampAsync(user); IdentityResultAssert.IsSuccess(await manager.RemoveLoginAsync(user, login.LoginProvider, login.ProviderKey)); Assert.Null(await manager.FindByLoginAsync(login.LoginProvider, login.ProviderKey));