@@ -70,6 +70,55 @@ function Test-EndpointCrudAndAction
70
70
Remove-AzResourceGroup - Name $resourceGroup.ResourceGroupName - Force
71
71
}
72
72
73
+ <#
74
+ . SYNOPSIS
75
+ Create ENdpoint with RulesEngine config
76
+ #>
77
+ function Test-EndpointCreateWithRulesEngine
78
+ {
79
+ $profileName = getAssetName
80
+ $resourceGroup = TestSetup- CreateResourceGroup
81
+ $resourceLocation = " EastUS"
82
+ $profileSku = " Standard_Microsoft"
83
+ $createdProfile = New-AzCdnProfile - ProfileName $profileName - ResourceGroupName $resourceGroup.ResourceGroupName - Location $resourceLocation - Sku $profileSku
84
+
85
+ $endpointName = getAssetName
86
+ $originName = getAssetName
87
+ $originHostName = " www.microsoft.com"
88
+
89
+ $nameAvailability = Get-AzCdnEndpointNameAvailability - EndpointName $endpointName
90
+ Assert-True {$nameAvailability.NameAvailable }
91
+
92
+ $description = ' Sample delivery policy'
93
+ $cond1 = New-AzCdnDeliveryRuleCondition - MatchVariable IsDevice - Operator Equal - MatchValue " Desktop"
94
+ $action1 = New-AzCdnDeliveryRuleAction - SourcePattern " /abc" - Destination " /def" - PreservePath
95
+ $action2 = New-AzCdnDeliveryRuleAction - QueryStringBehavior ExcludeAll - QueryParameter " abc" , " def"
96
+ $action3 = New-AzCdnDeliveryRuleAction - QueryStringBehavior IncludeAll
97
+ $redirect = New-AzCdnDeliveryRuleAction - RedirectType Found - DestinationProtocol MatchRequest
98
+ $rule0 = New-AzCdnDeliveryRule - Name " EmptyCondition" - Order 0 - Action $redirect , $action3
99
+ $rule1 = New-AzCdnDeliveryRule - Name " Rule1" - Order 1 - Condition $cond1 - Action $action1 , $action2
100
+ $deliverypolicy = New-AzCdnDeliveryPolicy - Description $description - Rule $rule0 , $rule1
101
+
102
+ $createdEndpoint = New-AzCdnEndpoint - EndpointName $endpointName - ProfileName $profileName - ResourceGroupName $resourceGroup.ResourceGroupName - Location $resourceLocation - OriginName $originName - OriginHostName $originHostName - DeliveryPolicy $deliveryPolicy
103
+ Assert-AreEqual $description $createdEndpoint.DeliveryPolicy.Description
104
+ Assert-AreEqual $endpointName $createdEndpoint.Name
105
+ Assert-AreEqual $rule0.Name $createdEndpoint.DeliveryPolicy.Rules [0 ].Name
106
+ Assert-AreEqual $rule1.Name $createdEndpoint.DeliveryPolicy.Rules [1 ].Name
107
+ Assert-AreEqual $profileName $createdEndpoint.ProfileName
108
+ Assert-AreEqual $resourceGroup.ResourceGroupName $createdEndpoint.ResourceGroupName
109
+ Assert-AreEqual $originName $createdEndpoint.Origins [0 ].Name
110
+ Assert-AreEqual $originHostName $createdEndpoint.Origins [0 ].HostName
111
+
112
+
113
+ $endpointRemoved = Remove-AzCdnEndpoint - EndpointName $endpointName - ProfileName $profileName - ResourceGroupName $resourceGroup.ResourceGroupName - PassThru - Force
114
+ Assert-True {$endpointRemoved }
115
+
116
+ Assert-ThrowsContains { Get-AzCdnEndpoint - EndpointName $endpointName - ProfileName $profileName - ResourceGroupName $resourceGroup.ResourceGroupName } " NotFound"
117
+
118
+ Remove-AzResourceGroup - Name $resourceGroup.ResourceGroupName - Force
119
+ }
120
+
121
+
73
122
<#
74
123
. SYNOPSIS
75
124
Endpoint cycle with piping
0 commit comments