Skip to content

Commit

Permalink
Copy #18193 and fix CI issue on generation branch (#18195)
Browse files Browse the repository at this point in the history
* Build from the main branch

* Write a warning message when setting values for parameters that are not provided

* Update tests

* try fix ci issue by sync Az.props and shared

Co-authored-by: Francisco-Gamino <[email protected]>
  • Loading branch information
isra-fel and Francisco-Gamino authored May 17, 2022
1 parent 6cee52d commit f0541b7
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 9 deletions.
3 changes: 3 additions & 0 deletions src/Az.props
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
<AutoGen>true</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<!-- include shared source code -->
<Compile Include="$(MSBuildThisFileDirectory)shared\*.cs" />
</ItemGroup>

<ItemGroup>
Expand All @@ -47,6 +49,7 @@
<ItemGroup>
<None Update="Az.$(PsModuleName).psd1" CopyToOutputDirectory="PreserveNewest" />
<None Update="help\*.md" CopyToOutputDirectory="PreserveNewest" />
<None Update="help\About\*.help.txt" CopyToOutputDirectory="PreserveNewest" />
<None Update="*.ps1xml" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/Functions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ directive:
```
``` yaml
branch: powershell-function
branch: main
require:
- $(this-folder)/../readme.azure.noprofile.md
input-file:
Expand Down
4 changes: 3 additions & 1 deletion src/Functions/custom/HelperFunctions.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ $constants["FunctionsNoV2Version"] = @(
"USSec East"
)

$constants["SetDefaultValueParameterWarningMessage"] = "This default value is subject to change over time. Please set this value explicitly to ensure the behavior is not accidentally impacted by future changes."

foreach ($variableName in $constants.Keys)
{
if (-not (Get-Variable $variableName -ErrorAction SilentlyContinue))
Expand Down Expand Up @@ -1018,7 +1020,7 @@ function GetRuntimeJsonDefinition
$RuntimeVersion = $latestVersion.ToString()
}

Write-Verbose "RuntimeVersion not specified. Setting default runtime version for '$Runtime' to '$RuntimeVersion'." -Verbose
Write-Warning "RuntimeVersion not specified. Setting default value to '$RuntimeVersion'. $SetDefaultValueParameterWarningMessage"
}

# Get the RuntimeJsonDefinition
Expand Down
4 changes: 2 additions & 2 deletions src/Functions/custom/New-AzFunctionApp.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ function New-AzFunctionApp {
}

$FunctionsVersion = $DefaultFunctionsVersion
Write-Verbose "FunctionsVersion not specified. Setting default FunctionsVersion to '$FunctionsVersion'." -Verbose
Write-Warning "FunctionsVersion not specified. Setting default value to '$FunctionsVersion'. $SetDefaultValueParameterWarningMessage"
}

ValidateFunctionsVersion -FunctionsVersion $FunctionsVersion
Expand All @@ -284,7 +284,7 @@ function New-AzFunctionApp {
if (-not $OSType)
{
$OSType = GetDefaultOSType -Runtime $Runtime
Write-Verbose "OSType for $Runtime is '$OSType'." -Verbose
Write-Warning "OSType not specified. Setting default value to '$OSType'. $SetDefaultValueParameterWarningMessage"
}

$runtimeJsonDefintion = GetRuntimeJsonDefinition -FunctionsVersion $FunctionsVersion -Runtime $Runtime -RuntimeVersion $RuntimeVersion -OSType $OSType
Expand Down
10 changes: 5 additions & 5 deletions src/Functions/test/New-AzFunctionApp.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,11 @@ Describe 'New-AzFunctionApp' {
-FunctionsVersion $functionsVersion `
-WhatIf

} 4>&1 2>&1 > $filePath
} 3>&1 2>&1 > $filePath

$logFileContent = Get-Content -Path $filePath -Raw
$expectectedRuntimeVersion = $expectedDefaultRuntimeVersion[$OSType][$functionsVersion][$runtime]
$expectedMessage = "RuntimeVersion not specified. Setting default runtime version for '$runtime' to '$expectectedRuntimeVersion'."
$expectedMessage = "RuntimeVersion not specified. Setting default value to '$expectectedRuntimeVersion'."
$logFileContent | Should Match $expectedMessage
}
finally
Expand Down Expand Up @@ -234,12 +234,12 @@ Describe 'New-AzFunctionApp' {
-RuntimeVersion $runtimeVersion `
-WhatIf

} 4>&1 2>&1 > $filePath
} 3>&1 2>&1 > $filePath

$logFileContent = Get-Content -Path $filePath -Raw

$expectectedFunctionsVersionWarning = "FunctionsVersion not specified. Setting default FunctionsVersion to '$expectedFunctionsVersion'."
$expectectedOSTypeWarning = "OSType for $runtime is '$expectedOSType'."
$expectectedFunctionsVersionWarning = "FunctionsVersion not specified. Setting default value to '$expectedFunctionsVersion'."
$expectectedOSTypeWarning = "OSType not specified. Setting default value to '$expectedOSType'."

$logFileContent | Should Match $expectectedFunctionsVersionWarning
$logFileContent | Should Match $expectectedOSTypeWarning
Expand Down
32 changes: 32 additions & 0 deletions src/shared/ConfigKeys.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------

namespace Microsoft.Azure.Commands.Shared.Config
{
/// <summary>
/// This class stores keys of all the pre-defined configs.
/// </summary>
/// <remarks>
/// All keys should be defined here.
/// If the key is used in Azure/azure-powershell-common repo, duplicate it in ConfigKeysForCommon class.
/// Keys defined here should NEVER be removed or changed to prevent breaking change.
/// </remarks>
internal static class ConfigKeys
{
public const string EnableInterceptSurvey = "EnableInterceptSurvey";
public const string DisplayBreakingChangeWarning = "DisplayBreakingChangeWarning";
public const string DefaultSubscriptionForLogin = "DefaultSubscriptionForLogin";
public const string EnableDataCollection = "EnableDataCollection";
}
}

0 comments on commit f0541b7

Please sign in to comment.