Skip to content

Commit 8cdcb63

Browse files
authored
[Infrastructure] Use GeneratedRegex property (#58710)
* Use GeneratedRegex property
1 parent a5c64bf commit 8cdcb63

File tree

7 files changed

+28
-32
lines changed

7 files changed

+28
-32
lines changed

src/Components/test/E2ETest/ServerExecutionTests/WebSocketCompressionTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ public void EmbeddingServerAppInsideIframe_WithCompressionEnabled_Fails()
104104

105105
Assert.True(logs.Count > 0);
106106

107-
Assert.Matches(ParseErrorMessage(), logs[0].Message);
107+
Assert.Matches(ParseErrorMessageRegex, logs[0].Message);
108108
}
109109

110110
[GeneratedRegex(@"security - Refused to frame 'http://\d+\.\d+\.\d+\.\d+:\d+/' because an ancestor violates the following Content Security Policy directive: ""frame-ancestors 'none'"".")]
111-
private static partial Regex ParseErrorMessage();
111+
private static partial Regex ParseErrorMessageRegex { get; }
112112
}
113113

114114
public partial class DefaultConfigurationWebSocketCompressionTests : AllowedWebSocketCompressionTests

src/Components/test/E2ETest/ServerRenderingTests/ResourceCollectionTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ public void StaticRendering_CanUseFingerprintedResources()
3232
var url = $"{ServerPathBase}/resource-collection";
3333
Navigate(url);
3434

35-
Browser.True(() => AppStylesRegex().IsMatch(Browser.Exists(By.Id("basic-app-styles")).Text));
35+
Browser.True(() => AppStylesRegex.IsMatch(Browser.Exists(By.Id("basic-app-styles")).Text));
3636

3737
Browser.Exists(By.Id("import-module")).Click();
3838

39-
Browser.True(() => JsModuleRegex().IsMatch(Browser.Exists(By.Id("js-module")).Text));
39+
Browser.True(() => JsModuleRegex.IsMatch(Browser.Exists(By.Id("js-module")).Text));
4040
}
4141

4242
[Theory]
@@ -49,15 +49,15 @@ public void StaticRendering_CanUseFingerprintedResources_InteractiveModes(string
4949

5050
Browser.Equal(renderMode, () => Browser.Exists(By.Id("platform-name")).Text);
5151

52-
Browser.True(() => AppStylesRegex().IsMatch(Browser.Exists(By.Id("basic-app-styles")).Text));
52+
Browser.True(() => AppStylesRegex.IsMatch(Browser.Exists(By.Id("basic-app-styles")).Text));
5353

5454
Browser.Exists(By.Id("import-module")).Click();
5555

56-
Browser.True(() => JsModuleRegex().IsMatch(Browser.Exists(By.Id("js-module")).Text));
56+
Browser.True(() => JsModuleRegex.IsMatch(Browser.Exists(By.Id("js-module")).Text));
5757
}
5858

5959
[GeneratedRegex("""BasicTestApp\.[a-zA-Z0-9]{10}\.styles\.css""")]
60-
private static partial Regex AppStylesRegex();
60+
private static partial Regex AppStylesRegex { get; }
6161
[GeneratedRegex(""".*Index\.[a-zA-Z0-9]{10}\.mjs""")]
62-
private static partial Regex JsModuleRegex();
62+
private static partial Regex JsModuleRegex { get; }
6363
}

src/Components/test/E2ETest/Tests/BootResourceCachingTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,16 +117,16 @@ public async Task IncrementallyUpdatesCache()
117117
}
118118

119119
[GeneratedRegex("/Microsoft\\.AspNetCore\\.Components\\.\\w*\\.wasm")]
120-
private static partial Regex GetFingerprintedComponentsEntryRegex();
120+
private static partial Regex GetFingerprintedComponentsEntryRegex { get; }
121121

122122
[GeneratedRegex("/dotnet\\.native\\.\\w*\\.wasm")]
123-
private static partial Regex GetFingerprintedDotNetWasmEntryRegex();
123+
private static partial Regex GetFingerprintedDotNetWasmEntryRegex { get; }
124124

125125
private static bool IsFingerprintedComponentsEntry(string url)
126-
=> GetFingerprintedComponentsEntryRegex().IsMatch(url);
126+
=> GetFingerprintedComponentsEntryRegex.IsMatch(url);
127127

128128
private static bool IsFingerprintedDotNetWasmEntry(string url)
129-
=> GetFingerprintedDotNetWasmEntryRegex().IsMatch(url);
129+
=> GetFingerprintedDotNetWasmEntryRegex.IsMatch(url);
130130

131131
private IReadOnlyCollection<string> GetCacheEntryUrls()
132132
{

src/Http/Routing/src/Constraints/AlphaRouteConstraint.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ internal partial class AlphaRouteConstraint : RegexRouteConstraint
2020
/// <summary>
2121
/// Initializes a new instance of the <see cref="AlphaRouteConstraint" /> class.
2222
/// </summary>
23-
public AlphaRouteConstraint() : base(GetAlphaRouteRegex())
23+
public AlphaRouteConstraint() : base(AlphaRouteRegex)
2424
{
2525
}
2626

2727
[GeneratedRegex(@"^[A-Za-z]*$")]
28-
private static partial Regex GetAlphaRouteRegex();
28+
private static partial Regex AlphaRouteRegex { get; }
2929
}

src/Security/Authentication/Negotiate/src/Internal/LdapAdapter.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ namespace Microsoft.AspNetCore.Authentication.Negotiate;
1515
internal static partial class LdapAdapter
1616
{
1717
[GeneratedRegex(@"(?<![^\\]\\),")]
18-
internal static partial Regex DistinguishedNameSeparator();
19-
18+
internal static partial Regex DistinguishedNameSeparatorRegex { get; }
19+
2020
public static async Task RetrieveClaimsAsync(LdapSettings settings, ClaimsIdentity identity, ILogger logger)
2121
{
2222
var user = identity.Name!;
@@ -66,7 +66,7 @@ public static async Task RetrieveClaimsAsync(LdapSettings settings, ClaimsIdenti
6666
{
6767
// Example distinguished name: CN=TestGroup,DC=KERB,DC=local
6868
var groupDN = $"{Encoding.UTF8.GetString((byte[])group)}";
69-
var groupCN = DistinguishedNameSeparator().Split(groupDN)[0].Substring("CN=".Length);
69+
var groupCN = DistinguishedNameSeparatorRegex.Split(groupDN)[0].Substring("CN=".Length);
7070

7171
if (!settings.IgnoreNestedGroups)
7272
{
@@ -124,7 +124,7 @@ private static void GetNestedGroups(LdapConnection connection, ClaimsIdentity pr
124124
foreach (var member in memberof)
125125
{
126126
var nestedGroupDN = $"{Encoding.UTF8.GetString((byte[])member)}";
127-
var nestedGroupCN = DistinguishedNameSeparator().Split(nestedGroupDN)[0].Substring("CN=".Length);
127+
var nestedGroupCN = DistinguishedNameSeparatorRegex.Split(nestedGroupDN)[0].Substring("CN=".Length);
128128

129129
if (processedGroups.Contains(nestedGroupDN))
130130
{

src/Security/Authentication/Negotiate/test/Negotiate.Test/LdapAdapterTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,31 @@ public class LdapAdapterTests
88
[Fact]
99
public void DistinguishedNameWithoutCommasSuccess()
1010
{
11-
var parts = LdapAdapter.DistinguishedNameSeparator().Split("Testing group - City");
11+
var parts = LdapAdapter.DistinguishedNameSeparatorRegex.Split("Testing group - City");
1212

1313
Assert.Equal(new[] { "Testing group - City" }, parts);
1414
}
1515

1616
[Fact]
1717
public void DistinguishedNameWithEscapedCommaSuccess()
1818
{
19-
var parts = LdapAdapter.DistinguishedNameSeparator().Split(@"Testing group\,City");
19+
var parts = LdapAdapter.DistinguishedNameSeparatorRegex.Split(@"Testing group\,City");
2020

2121
Assert.Equal(new[] { @"Testing group\,City" }, parts);
2222
}
2323

2424
[Fact]
2525
public void DistinguishedNameWithNotEscapedCommaSuccess()
2626
{
27-
var parts = LdapAdapter.DistinguishedNameSeparator().Split("Testing group,City");
27+
var parts = LdapAdapter.DistinguishedNameSeparatorRegex.Split("Testing group,City");
2828

2929
Assert.Equal(new[] { "Testing group", "City" }, parts);
3030
}
3131

3232
[Fact]
3333
public void DistinguishedNameWithEscapedBackslashAndNotEscapedCommaSuccess()
3434
{
35-
var parts = LdapAdapter.DistinguishedNameSeparator().Split(@"Testing group\\,City");
35+
var parts = LdapAdapter.DistinguishedNameSeparatorRegex.Split(@"Testing group\\,City");
3636

3737
Assert.Equal(new[] { @"Testing group\\", "City" }, parts);
3838
}

src/Shared/CertificateGeneration/UnixCertificateManager.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ private static List<NssDb> GetNssDbs(string homeDirectory)
776776
}
777777

778778
[GeneratedRegex("OPENSSLDIR:\\s*\"([^\"]+)\"")]
779-
private static partial Regex OpenSslVersionRegex();
779+
private static partial Regex OpenSslVersionRegex { get; }
780780

781781
/// <remarks>
782782
/// It is the caller's responsibility to ensure that <see cref="OpenSslCommand"/> is available.
@@ -803,7 +803,7 @@ private static bool TryGetOpenSslDirectory([NotNullWhen(true)] out string? openS
803803
return false;
804804
}
805805

806-
var match = OpenSslVersionRegex().Match(stdout);
806+
var match = OpenSslVersionRegex.Match(stdout);
807807
if (!match.Success)
808808
{
809809
Log.UnixOpenSslVersionParsingFailed();
@@ -858,14 +858,14 @@ private static bool TryGetOpenSslHash(string certificatePath, [NotNullWhen(true)
858858
}
859859

860860
[GeneratedRegex("^[0-9a-f]+\\.[0-9]+$")]
861-
private static partial Regex OpenSslHashFilenameRegex();
861+
private static partial Regex OpenSslHashFilenameRegex { get; }
862862

863863
/// <remarks>
864864
/// We only ever use .pem, but someone will eventually put their own cert in this directory,
865865
/// so we should handle the same extensions as c_rehash (other than .crl).
866866
/// </remarks>
867867
[GeneratedRegex("\\.(pem|crt|cer)$")]
868-
private static partial Regex OpenSslCertificateExtensionRegex();
868+
private static partial Regex OpenSslCertificateExtensionRegex { get; }
869869

870870
/// <remarks>
871871
/// This is a simplified version of c_rehash from OpenSSL. Using the real one would require
@@ -876,21 +876,17 @@ private static bool TryRehashOpenSslCertificates(string certificateDirectory)
876876
try
877877
{
878878
// First, delete all the existing symlinks, so we don't have to worry about fragmentation or leaks.
879-
880-
var hashRegex = OpenSslHashFilenameRegex();
881-
var extensionRegex = OpenSslCertificateExtensionRegex();
882-
883879
var certs = new List<FileInfo>();
884880

885881
var dirInfo = new DirectoryInfo(certificateDirectory);
886882
foreach (var file in dirInfo.EnumerateFiles())
887883
{
888884
var isSymlink = (file.Attributes & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint;
889-
if (isSymlink && hashRegex.IsMatch(file.Name))
885+
if (isSymlink && OpenSslHashFilenameRegex.IsMatch(file.Name))
890886
{
891887
file.Delete();
892888
}
893-
else if (extensionRegex.IsMatch(file.Name))
889+
else if (OpenSslCertificateExtensionRegex.IsMatch(file.Name))
894890
{
895891
certs.Add(file);
896892
}

0 commit comments

Comments
 (0)