Skip to content

Commit a25f5a4

Browse files
authored
Merge pull request #9285 from ahamad-MS/master
EventGrid: PowerShell work for 2019-06-01 API Version
2 parents 46dadf9 + ab7b4a6 commit a25f5a4

File tree

87 files changed

+36046
-5549
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+36046
-5549
lines changed

src/EventGrid/EventGrid.Test/EventGrid.Test.csproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.EventGrid" Version="4.0.0" />
14+
<PackageReference Include="Microsoft.Azure.Management.EventGrid" Version="5.0.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.EventHub" Version="2.5.0" />
16+
<PackageReference Include="Microsoft.Azure.Management.Relay" Version="2.0.2" />
17+
<PackageReference Include="Microsoft.Azure.Management.ServiceBus" Version="2.1.0" />
18+
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="11.0.0" />
1619
</ItemGroup>
1720

1821
</Project>

src/EventGrid/EventGrid.Test/ScenarioTests/Common.ps1

Lines changed: 247 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ Get Subscription ID
1818
#>
1919
function Get-SubscriptionID
2020
{
21-
$context = Get-AzContext
22-
return $context.Subscription.SubscriptionId
21+
$context = Get-AzContext
22+
return $context.Subscription.SubscriptionId
2323
}
2424

2525
<#
@@ -28,7 +28,27 @@ Get ResourceGroup name
2828
#>
2929
function Get-ResourceGroupName
3030
{
31-
return "RGName-" + (getAssetName)
31+
return "RGName-" + (getAssetName)
32+
}
33+
34+
<#
35+
.SYNOPSIS
36+
Create new ResourceGroup
37+
#>
38+
function New-ResourceGroup($ResourceGroupName, $Location)
39+
{
40+
Write-Debug "Creating resource group name $ResourceGroupName in location $Location"
41+
New-AzResourceGroup -Name $ResourceGroupName -Location $Location -Force
42+
}
43+
44+
<#
45+
.SYNOPSIS
46+
Remove ResourceGroup
47+
#>
48+
function Remove-ResourceGroup($ResourceGroupName)
49+
{
50+
Write-Debug "Deleting resource group name $ResourceGroupName"
51+
Remove-AzResourceGroup -Name $ResourceGroupName -Force
3252
}
3353

3454
<#
@@ -46,43 +66,248 @@ Get EventSubscription Webhook Endpoint
4666
#>
4767
function Get-EventSubscriptionWebhookEndpoint
4868
{
49-
return "https://eventgridrunnerfunction.azurewebsites.net/api/HttpTriggerCSharp1?code=<HIDDEN>"
69+
return "https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=<HIDDEN>"
70+
}
71+
72+
<#
73+
.SYNOPSIS
74+
Get EventSubscription Webhook Endpoint
75+
#>
76+
function Get-EventSubscriptionWebhookBaseEndpoint
77+
{
78+
return "https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"
79+
}
80+
81+
<#
82+
.SYNOPSIS
83+
Get location
84+
#>
85+
function Get-LocationForEventGrid
86+
{
87+
return "westcentralus"
88+
}
89+
90+
<#
91+
.SYNOPSIS
92+
Get EventHub namespace name
93+
#>
94+
function Get-EventHubNamespaceName
95+
{
96+
return "PSTestEH-" + (getAssetName)
97+
}
98+
99+
<#
100+
.SYNOPSIS
101+
Get HybridConnection NameSpace Name
102+
#>
103+
function Get-HybridConnNameSpaceName
104+
{
105+
return "hcnamespace-" + (getAssetName)
106+
}
107+
108+
<#
109+
.SYNOPSIS
110+
Get HybridConnection Name
111+
#>
112+
function Get-HybridConnName
113+
{
114+
return "hcname-" + (getAssetName)
50115
}
51116

52117
<#
53118
.SYNOPSIS
54119
Get Hybrid Connection ResourceId
55120
#>
56-
function Get-HybridConnectionResourceId
121+
function Get-HybridConnectionResourceId($ResourceGroupName, $NamespaceName, $HybridConnectionName)
57122
{
58-
return "/subscriptions/$subscriptionId/resourceGroups/<ResourceGroupName>/providers/Microsoft.Relay/namespaces/<NameSpace>/hybridConnections/<HybridConnectionName>"
123+
$subId = Get-SubscriptionID
124+
return "/subscriptions/$subId/resourceGroups/$ResourceGroupName/providers/Microsoft.Relay/namespaces/$NamespaceName/hybridConnections/$HybridConnectionName"
59125
}
60126

61127
<#
62128
.SYNOPSIS
63-
Get Storage Destination ResourceId
129+
Create new HybridConnection
64130
#>
65-
function Get-StorageDestinationResourceId
131+
function New-HybridConnection($ResourceGroupName, $NamespaceName, $HybridConnectionName, $Location)
66132
{
67-
return "/subscriptions/$subscriptionId/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>/queueServices/default/queues/<QueueName>"
133+
Write-Debug "Creating namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
134+
New-AzRelayNamespace -ResourceGroupName $ResourceGroupName -Name $NamespaceName -Location $Location
135+
Write-Debug "Creating hybridconnection $HybridConnectionName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
136+
New-AzRelayHybridConnection -ResourceGroupName $ResourceGroupName -Namespace $NamespaceName -Name $HybridConnectionName -RequiresClientAuthorization $True
68137
}
69138

70139
<#
71140
.SYNOPSIS
72-
Get EventSubscription Webhook Endpoint
141+
Remove HybridConnection
73142
#>
74-
function Get-EventSubscriptionWebhookBaseEndpoint
143+
function Remove-HybridConnectionResources($ResourceGroupName, $NamespaceName, $HybridConnectionName)
75144
{
76-
return "https://eventgridrunnerfunction.azurewebsites.net/api/HttpTriggerCSharp1"
145+
Write-Debug "Deleting hybridconnection $HybridConnectionName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
146+
Remove-AzRelayHybridConnection -ResourceGroupName $ResourceGroupName -Namespace $NamespaceName -Name $HybridConnectionName
147+
Write-Debug "Deleting namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
148+
Remove-AzRelayNamespace -ResourceGroupName $ResourceGroupName -Name $NamespaceName
77149
}
78150

79151
<#
80152
.SYNOPSIS
81-
Get Deadletter ResourceId
153+
Get ServiceBus NameSpace Name
82154
#>
83-
function Get-DeadletterResourceId
155+
function Get-ServiceBusNameSpaceName
84156
{
85-
return "/subscriptions/$subscriptionId/resourceGroups/<ResourceGroupName>/providers/microsoft.Storage/storageAccounts/<StorageAccountName>/blobServices/default/containers/<ContainerName>"
157+
return "sbnamespace-" + (getAssetName)
158+
}
159+
160+
<#
161+
.SYNOPSIS
162+
Get ServiceBus Name
163+
#>
164+
function Get-ServiceBusName
165+
{
166+
return "sbname-" + (getAssetName)
167+
}
168+
169+
<#
170+
.SYNOPSIS
171+
Get ServiceBus Queue ResourceId
172+
#>
173+
function Get-ServiceBusQueueResourceId($ResourceGroupName, $NamespaceName, $QueueName)
174+
{
175+
$subId = Get-SubscriptionID
176+
return "/subscriptions/$subId/resourceGroups/$ResourceGroupName/providers/Microsoft.ServiceBus/namespaces/$NamespaceName/queues/$QueueName"
177+
}
178+
179+
<#
180+
.SYNOPSIS
181+
Create new ServiceBus Queue
182+
#>
183+
function New-ServiceBusQueue($ResourceGroupName, $NamespaceName, $QueueName, $Location)
184+
{
185+
Write-Debug "Creating ServiceBus namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
186+
New-AzServiceBusNamespace -ResourceGroupName $ResourceGroupName -Name $NamespaceName -Location $Location
187+
$DefaultMessageTimeToLiveTimeSpan = New-TimeSpan -Minute 1
188+
Write-Debug "Creating ServiceBus queue $QueueName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location"
189+
New-AzServiceBusQueue -ResourceGroupName $ResourceGroupName -Namespace $NamespaceName -Name $QueueName -RequiresSession $False -EnablePartitioning $True -DefaultMessageTimeToLive $DefaultMessageTimeToLiveTimeSpan
190+
}
191+
192+
<#
193+
.SYNOPSIS
194+
Remove ServiceBus Queue
195+
#>
196+
function Remove-ServiceBusResources($ResourceGroupName, $NamespaceName, $QueueName)
197+
{
198+
Write-Debug "Deleting ServiceBus queue $QueueName in Namespace $NamespaceName in resource group $ResourceGroupName"
199+
Remove-AzServiceBusQueue -ResourceGroupName $ResourceGroupName -Namespace $NamespaceName -Name $QueueName
200+
Write-Debug "Deleting ServiceBus namespace $NamespaceName in resource group $ResourceGroupName"
201+
Remove-AzServiceBusNamespace -ResourceGroupName $ResourceGroupName -Name $NamespaceName
202+
}
203+
204+
<#
205+
.SYNOPSIS
206+
Get Storage Account Name
207+
#>
208+
function Get-StorageAccountName
209+
{
210+
# Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only.
211+
return "storagename" + (getAssetName)
212+
}
213+
214+
<#
215+
.SYNOPSIS
216+
Get StorageQueue Name
217+
#>
218+
function Get-StorageQueueName
219+
{
220+
return "storagequeuename" + (getAssetName)
221+
}
222+
223+
<#
224+
.SYNOPSIS
225+
Get Storage Queue Destination ResourceId
226+
#>
227+
function Get-StorageDestinationResourceId($ResourceGroupName, $StorageAccountName, $QueueName)
228+
{
229+
$subId = Get-SubscriptionID
230+
return "/subscriptions/$subId/resourceGroups/$ResourceGroupName/providers/Microsoft.Storage/storageAccounts/$StorageAccountName/queueServices/default/queues/$QueueName"
231+
}
232+
233+
<#
234+
.SYNOPSIS
235+
Create new Storage Queue
236+
#>
237+
function New-StorageQueue($ResourceGroupName, $StorageAccountName, $QueueName, $Location)
238+
{
239+
Write-Debug "Creating Storage Account $StorageAccountName in resource group $ResourceGroupName and location $Location"
240+
$StorageAccount = New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -SkuName Standard_LRS -Location $Location -Kind StorageV2 -AccessTier Hot
241+
$storageAccountKeyValue = $(Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
242+
$cxt = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $storageAccountKeyValue
243+
244+
# Uncomment when live recording
245+
# New-AzStorageQueue -Name $StorageQueueName -Context $cxt
246+
}
247+
248+
<#
249+
.SYNOPSIS
250+
Remove Storage Resources (Queue and Account)
251+
#>
252+
function Remove-StorageResources($ResourceGroupName, $StorageAccountName, $QueueName)
253+
{
254+
Write-Debug "Deleting Storage queue $QueueName in Storage Account $StorageAccountName"
255+
$StorageAccount = Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $StorageAccountName
256+
$storageAccountKeyValue = $(Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
257+
$cxt = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $storageAccountKeyValue
258+
# Uncomment when live recording
259+
# Remove-AzStorageQueue -Name $QueueName -Context $cxt -Force
260+
Write-Debug "Deleting storage account $StorageAccount in resource group $ResourceGroupName"
261+
Remove-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -Force
262+
}
263+
264+
<#
265+
.SYNOPSIS
266+
Get StorageBlob Name
267+
#>
268+
function Get-StorageBlobName
269+
{
270+
return "storageblobname" + (getAssetName)
271+
}
272+
273+
<#
274+
.SYNOPSIS
275+
Get Storage Blob Container Deadletter ResourceId
276+
#>
277+
function Get-DeadletterResourceId($ResourceGroupName, $StorageAccountName, $ContainerName)
278+
{
279+
$subId = Get-SubscriptionID
280+
return "/subscriptions/$subId/resourceGroups/$ResourceGroupName/providers/Microsoft.Storage/storageAccounts/$StorageAccountName/blobServices/default/containers/$ContainerName"
281+
}
282+
283+
<#
284+
.SYNOPSIS
285+
Create new Storage Blob
286+
#>
287+
function New-StorageBlob($ResourceGroupName, $StorageAccountName, $ContainerName, $Location)
288+
{
289+
Write-Debug "Creating Storage Account $StorageAccountName in resource group $ResourceGroupName and location $Location"
290+
$storageAccount = New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -SkuName Standard_LRS -Location $Location
291+
$storageAccountKeyValue = $(Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
292+
$cxt = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKeyValue
293+
# Uncomment when live recording
294+
# New-AzStoragecontainer -Name $ContainerName -Context $cxt
295+
}
296+
297+
<#
298+
.SYNOPSIS
299+
Remove Storage Resources (Queue and Account)
300+
#>
301+
function Remove-StorageContainerResources($ResourceGroupName, $StorageAccountName, $ContainerName)
302+
{
303+
Write-Debug "Deleting Storage blob $ContainerName in Storage Account $StorageAccountName"
304+
$StorageAccount = Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -AccountName $StorageAccountName
305+
$storageAccountKeyValue = $(Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
306+
$cxt = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $storageAccountKeyValue
307+
# Uncomment when live recording
308+
# Remove-AzStorageContainer -Name $ContainerName -Context $cxt
309+
Write-Debug "Deleting storage account $StorageAccount in resource group $ResourceGroupName"
310+
Remove-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -Force
86311
}
87312

88313
<#
@@ -96,18 +321,18 @@ function Get-TopicName
96321

97322
<#
98323
.SYNOPSIS
99-
Get location
324+
Get domain name
100325
#>
101-
function Get-LocationForEventGrid
326+
function Get-DomainName
102327
{
103-
return "westus2"
328+
return "PSTestDomain-" + (getAssetName)
104329
}
105330

106331
<#
107332
.SYNOPSIS
108-
Get EventHub namespace name
333+
Get domain topic name
109334
#>
110-
function Get-EventHubNamespaceName
335+
function Get-DomainTopicName
111336
{
112-
return "PSTestEH-" + (getAssetName)
113-
}
337+
return "PSTestDomainTopic-" + (getAssetName)
338+
}

0 commit comments

Comments
 (0)