Skip to content

Commit c27c2a9

Browse files
committed
fix test cases
1 parent c7a8496 commit c27c2a9

File tree

7 files changed

+26
-82
lines changed

7 files changed

+26
-82
lines changed

src/Resources/Policy.Autorest/custom/New-AzPolicyAssignment.ps1

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -71,22 +71,13 @@ param(
7171

7272
[Parameter(ParameterSetName='ParameterObject', ValueFromPipeline)]
7373
[Parameter(ParameterSetName='ParameterString', ValueFromPipeline)]
74-
[Parameter(ParameterSetName='PolicyDefinition', Mandatory, ValueFromPipelineByPropertyName)]
74+
[Parameter(ParameterSetName='PolicyDefinitionOrPolicySetDefinition', Mandatory, ValueFromPipeline)]
7575
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Category('Body')]
76-
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Policy.Models.IPolicyDefinition]))]
7776
[PSCustomObject]
78-
# The ID of the policy definition being assigned.
77+
[Alias('PolicySetDefinition')]
78+
# Accept policy definition or policy set definition object
7979
${PolicyDefinition},
8080

81-
[Parameter(ParameterSetName='ParameterObject', ValueFromPipeline)]
82-
[Parameter(ParameterSetName='ParameterString', ValueFromPipeline)]
83-
[Parameter(ParameterSetName='PolicySetDefinition', Mandatory, ValueFromPipeline)]
84-
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Category('Body')]
85-
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Policy.Models.IPolicySetDefinition]))]
86-
[PSCustomObject]
87-
# The ID of the policy set definition being assigned.
88-
${PolicySetDefinition},
89-
9081
[Parameter(ParameterSetName='ParameterObject', Mandatory)]
9182
[ValidateNotNullOrEmpty()]
9283
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Category('Body')]
@@ -157,15 +148,6 @@ param(
157148
# Causes cmdlet to return artifacts using legacy format placing policy-specific properties in a property bag object.
158149
${BackwardCompatible} = $false,
159150

160-
# This parameter is generated by autorest, but not yet supported. Fully implementing it is beyond the scope of
161-
# the initial port to autorest: we are hiding this for now and will implement it in a future PR.
162-
[Parameter(DontShow)]
163-
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Category('Path')]
164-
[Microsoft.Azure.PowerShell.Cmdlets.Policy.Models.IPolicyIdentity]
165-
# Identity Parameter
166-
# To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
167-
${InputObject},
168-
169151
[Parameter()]
170152
[Alias('AzureRMContext', 'AzureCredential')]
171153
[ValidateNotNull()]
@@ -306,10 +288,6 @@ process {
306288
}
307289

308290
$calledParameters = $PSBoundParameters
309-
if ($_ -or $InputObject) {
310-
$calledParameters = @{}
311-
}
312-
313291
# convert input parameter to generated parameter and remove
314292
if ($Name) {
315293
$calledParameters.Name = $Name
@@ -322,20 +300,12 @@ process {
322300
$calledParameters.Scope = $Scope
323301

324302
# route the input policy id to the correct place
325-
if ($PolicyDefinition) {
303+
if ($CalledParameters.ContainsKey('PolicyDefinition')) {
326304
$calledParameters.PolicyDefinitionId = $PolicyDefinition.Id
327305
$null = $calledParameters.Remove('PolicyDefinition')
328306
}
329-
elseif ($PolicySetDefinition) {
330-
$calledParameters.PolicyDefinitionId = $PolicySetDefinition.Id
331-
$null = $calledParameters.Remove('PolicySetDefinition')
332-
}
333-
elseif ($InputObject)
334-
{
335-
$calledParameters.PolicyDefinitionId = $InputObject.Id
336-
}
337307
else {
338-
throw 'One of -PolicyDefinition or -PolicySetDefinition must be provided.'
308+
throw 'One of PolicyDefinition or PolicySetDefinition must be provided.'
339309
}
340310

341311
# client side parameter validation

src/Resources/Policy.Autorest/docs/New-AzPolicyAssignment.md

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -26,34 +26,26 @@ New-AzPolicyAssignment -Name <String> -PolicyParameterObject <Hashtable> [-Scope
2626
[-BackwardCompatible] [-Description <String>] [-DisplayName <String>] [-EnforcementMode <String>]
2727
[-IdentityId <String>] [-IdentityType <String>] [-Location <String>] [-Metadata <String>]
2828
[-NonComplianceMessage <PSObject[]>] [-NotScope <String[]>] [-PolicyDefinition <PSObject>]
29-
[-PolicySetDefinition <PSObject>] [-DefaultProfile <PSObject>] [-Confirm] [-WhatIf] [<CommonParameters>]
29+
[-DefaultProfile <PSObject>] [-Confirm] [-WhatIf] [<CommonParameters>]
3030
```
3131

3232
### ParameterString
3333
```
3434
New-AzPolicyAssignment -Name <String> -PolicyParameter <String> [-Scope <String>] [-BackwardCompatible]
3535
[-Description <String>] [-DisplayName <String>] [-EnforcementMode <String>] [-IdentityId <String>]
3636
[-IdentityType <String>] [-Location <String>] [-Metadata <String>] [-NonComplianceMessage <PSObject[]>]
37-
[-NotScope <String[]>] [-PolicyDefinition <PSObject>] [-PolicySetDefinition <PSObject>]
38-
[-DefaultProfile <PSObject>] [-Confirm] [-WhatIf] [<CommonParameters>]
37+
[-NotScope <String[]>] [-PolicyDefinition <PSObject>] [-DefaultProfile <PSObject>] [-Confirm] [-WhatIf]
38+
[<CommonParameters>]
3939
```
4040

41-
### PolicyDefinition
41+
### PolicyDefinitionOrPolicySetDefinition
4242
```
4343
New-AzPolicyAssignment -Name <String> -PolicyDefinition <PSObject> [-Scope <String>] [-BackwardCompatible]
4444
[-Description <String>] [-DisplayName <String>] [-EnforcementMode <String>] [-IdentityId <String>]
4545
[-IdentityType <String>] [-Location <String>] [-Metadata <String>] [-NonComplianceMessage <PSObject[]>]
4646
[-NotScope <String[]>] [-DefaultProfile <PSObject>] [-Confirm] [-WhatIf] [<CommonParameters>]
4747
```
4848

49-
### PolicySetDefinition
50-
```
51-
New-AzPolicyAssignment -Name <String> -PolicySetDefinition <PSObject> [-Scope <String>] [-BackwardCompatible]
52-
[-Description <String>] [-DisplayName <String>] [-EnforcementMode <String>] [-IdentityId <String>]
53-
[-IdentityType <String>] [-Location <String>] [-Metadata <String>] [-NonComplianceMessage <PSObject[]>]
54-
[-NotScope <String[]>] [-DefaultProfile <PSObject>] [-Confirm] [-WhatIf] [<CommonParameters>]
55-
```
56-
5749
## DESCRIPTION
5850
The **New-AzPolicyAssignment** cmdlet creates or updates a policy assignment with the given scope and name.
5951
Policy assignments apply to all resources contained within their scope.
@@ -403,17 +395,17 @@ Accept wildcard characters: False
403395
```
404396
405397
### -PolicyDefinition
406-
The ID of the policy definition being assigned.
398+
Accept policy definition or policy set definition object
407399
408400
```yaml
409401
Type: System.Management.Automation.PSObject
410-
Parameter Sets: ParameterObject, ParameterString, PolicyDefinition
411-
Aliases:
402+
Parameter Sets: ParameterObject, ParameterString, PolicyDefinitionOrPolicySetDefinition
403+
Aliases: PolicySetDefinition
412404

413405
Required: True
414406
Position: Named
415407
Default value: None
416-
Accept pipeline input: True (ByValue, ByPropertyName)
408+
Accept pipeline input: True (ByValue)
417409
Accept wildcard characters: False
418410
```
419411
@@ -449,21 +441,6 @@ Accept pipeline input: False
449441
Accept wildcard characters: False
450442
```
451443
452-
### -PolicySetDefinition
453-
The ID of the policy set definition being assigned.
454-
455-
```yaml
456-
Type: System.Management.Automation.PSObject
457-
Parameter Sets: ParameterObject, ParameterString, PolicySetDefinition
458-
Aliases:
459-
460-
Required: True
461-
Position: Named
462-
Default value: None
463-
Accept pipeline input: True (ByValue)
464-
Accept wildcard characters: False
465-
```
466-
467444
### -Scope
468445
The scope of the policy assignment.
469446
Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

src/Resources/Policy.Autorest/test/Backcompat/PolicyAssignmentUserAssignedIdentity.Tests.ps1

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# setup the Pester environment for policy backcompat tests
22
. (Join-Path $PSScriptRoot 'Common.ps1') 'Backcompat-PolicyAssignmentUserAssignedIdentity'
33

4-
Describe 'Backcompat-PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
4+
Describe 'Backcompat-PolicyAssignmentUserAssignedIdentity' {
55

66
BeforeAll {
77
# setup
@@ -11,12 +11,10 @@ Describe 'Backcompat-PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
1111
$testPA = Get-ResourceName
1212
$test2 = Get-ResourceName
1313
$location = "westus"
14-
$userassignedidentityname = "test-user-msi"
15-
14+
1615
# make a new resource group and policy definition
1716
$policy = New-AzPolicyDefinition -Name $policyName -Policy "$testFilesFolder\SamplePolicyDefinition.json" -Description $description -BackwardCompatible
18-
$userassignedidentity = New-AzUserAssignedIdentity -ResourceGroupName $rgName -Name $userassignedidentityname -Location $location
19-
$userassignedidentityid = $userassignedidentity.Id
17+
$userassignedidentityid = $env.userassignedidentityId
2018
# assign the policy definition with user MSI to the resource group
2119
$actual = New-AzPolicyAssignment -Name $testPA -PolicyDefinition $policy -Scope $rgScope -Description $description -IdentityType "UserAssigned" -IdentityId $userassignedidentityid -Location $location -BackwardCompatible
2220
}
@@ -104,9 +102,6 @@ Describe 'Backcompat-PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
104102
# clean up
105103
$remove = Remove-AzPolicyAssignment -Name $testPA -Scope $rgScope -BackwardCompatible
106104
$remove = (Remove-AzPolicyAssignment -Name $test2 -Scope $rgScope -BackwardCompatible) -and $remove
107-
108-
Remove-AzUserAssignedIdentity -ResourceGroupName $rgName -Name $userassignedidentityname
109-
110105
$remove = (Remove-AzPolicyDefinition -Name $policyName -Force -BackwardCompatible) -and $remove
111106
Assert-AreEqual True $remove
112107

src/Resources/Policy.Autorest/test/Backcompat/PolicyObjectPiping.Tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# setup the Pester environment for policy backcompat tests
22
. (Join-Path $PSScriptRoot 'Common.ps1') 'Backcompat-PolicyObjectPiping'
33

4-
Describe 'Backcompat-PolicyObjectPiping' -Tag 'LiveOnly' {
4+
Describe 'Backcompat-PolicyObjectPiping' {
55

66
BeforeAll {
77
# setup

src/Resources/Policy.Autorest/test/PolicyAssignmentUserAssignedIdentity.Tests.ps1

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# setup the Pester environment for policy tests
22
. (Join-Path $PSScriptRoot 'Common.ps1') 'PolicyAssignmentUserAssignedIdentity'
33

4-
Describe 'PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
4+
Describe 'PolicyAssignmentUserAssignedIdentity' {
55

66
BeforeAll {
77
# setup
@@ -15,8 +15,7 @@ Describe 'PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
1515

1616
# make a new resource group and policy definition
1717
$policy = New-AzPolicyDefinition -Name $policyName -Policy "$testFilesFolder\SamplePolicyDefinition.json" -Description $description
18-
$userassignedidentity = New-AzUserAssignedIdentity -ResourceGroupName $rgName -Name $userassignedidentityname -Location $location
19-
$userassignedidentityid = $userassignedidentity.Id
18+
$userassignedidentityid = $env.userassignedidentityId
2019
# assign the policy definition with user MSI to the resource group
2120
$actual = New-AzPolicyAssignment -Name $testPA -PolicyDefinition $policy -Scope $rgScope -Description $description -IdentityType "UserAssigned" -IdentityId $userassignedidentityid -Location $location
2221
}
@@ -100,9 +99,6 @@ Describe 'PolicyAssignmentUserAssignedIdentity' -Tag 'LiveOnly' {
10099
# clean up
101100
$remove = Remove-AzPolicyAssignment -Name $testPA -Scope $rgScope -PassThru
102101
$remove = (Remove-AzPolicyAssignment -Name $test2 -Scope $rgScope -PassThru) -and $remove
103-
104-
Remove-AzUserAssignedIdentity -ResourceGroupName $rgName -Name $userassignedidentityname
105-
106102
$remove = (Remove-AzPolicyDefinition -Name $policyName -Force -PassThru) -and $remove
107103
$remove | Should -Be $true
108104

src/Resources/Policy.Autorest/test/PolicyObjectPiping.Tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# setup the Pester environment for policy tests
22
. (Join-Path $PSScriptRoot 'Common.ps1') 'PolicyObjectPiping'
33

4-
Describe 'PolicyObjectPiping' -Tag 'LiveOnly' {
4+
Describe 'PolicyObjectPiping' {
55

66
BeforeAll {
77
# setup

src/Resources/Policy.Autorest/test/utils.ps1

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,11 @@ function setupEnv() {
258258
$rg = New-ResourceGroup -Name $env.rgName -Location "west us"
259259
$env['rgScope'] = $rg.ResourceId
260260

261+
$env['userassignedidentityName'] = "test-user-msi"
262+
$location = "westus"
263+
$userassignedidentity = New-AzUserAssignedIdentity -ResourceGroupName $env.rgName -Name $env.userassignedidentityName -Location $location
264+
$env['userassignedidentityId'] = $userassignedidentity.Id
265+
261266
$env['managementGroup'] = 'AzGovPerfTest'
262267
$env['managementGroupScope'] = '/providers/Microsoft.Management/managementGroups/AzGovPerfTest'
263268
$env['description'] = 'Unit test junk: sorry for littering. Please delete me!'
@@ -328,5 +333,6 @@ function setupEnv() {
328333
}
329334
function cleanupEnv() {
330335
# Clean resources you create for testing
336+
$null = Remove-AzUserAssignedIdentity -ResourceGroupName $env.rgName -Name $env.userassignedidentityName
331337
$null = Remove-ResourceGroup -Name $env.rgName
332338
}

0 commit comments

Comments
 (0)