From f4a5dbe21790293a31536bf38e6f8c1062fdb15d Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 12 May 2022 13:02:21 -0700 Subject: [PATCH] String parsing improvements to service directory resource names (#3644) Co-authored-by: Ben Broderick Phillips --- eng/common/TestResources/New-TestResources.ps1 | 4 ++-- eng/common/TestResources/SubConfig-Helpers.ps1 | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index 4c83ad316..b7785df9d 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -375,7 +375,7 @@ try { $BaseName = 't' + (New-Guid).ToString('n').Substring(0, 16) Log "Generated base name '$BaseName' for CI build" } else { - $BaseName = GetBaseName $UserName $ServiceDirectory + $BaseName = GetBaseName $UserName (GetServiceLeafDirectoryName $ServiceDirectory) Log "BaseName was not set. Using default base name '$BaseName'" } } @@ -520,7 +520,7 @@ try { $ResourceGroupName } elseif ($CI) { # Format the resource group name based on resource group naming recommendations and limitations. - "rg-{0}-$BaseName" -f ($serviceName -replace '[\\\/:]', '-').Substring(0, [Math]::Min($serviceName.Length, 90 - $BaseName.Length - 4)).Trim('-') + "rg-{0}-$BaseName" -f ($serviceName -replace '[\.\\\/:]', '-').ToLowerInvariant().Substring(0, [Math]::Min($serviceName.Length, 90 - $BaseName.Length - 4)).Trim('-') } else { "rg-$BaseName" } diff --git a/eng/common/TestResources/SubConfig-Helpers.ps1 b/eng/common/TestResources/SubConfig-Helpers.ps1 index 04cc7d372..cc93def6a 100644 --- a/eng/common/TestResources/SubConfig-Helpers.ps1 +++ b/eng/common/TestResources/SubConfig-Helpers.ps1 @@ -1,4 +1,5 @@ function BuildServiceDirectoryPrefix([string]$serviceName) { + $serviceName = $serviceName -replace '[\./\\]', '_' return $serviceName.ToUpperInvariant() + "_" } @@ -17,8 +18,8 @@ function GetUserName() { function GetBaseName([string]$user, [string]$serviceDirectoryName) { # Handle service directories in nested directories, e.g. `data/aztables` - $serviceDirectorySafeName = $serviceDirectoryName -replace '[/\\]', '' - return "$user$serviceDirectorySafeName" + $serviceDirectorySafeName = $serviceDirectoryName -replace '[\./\\]', '' + return "$user$serviceDirectorySafeName".ToLowerInvariant() } function ShouldMarkValueAsSecret([string]$serviceName, [string]$key, [string]$value, [array]$allowedValues = @())