1
+ # ----------------------------------------------------------------------------------
2
+ #
3
+ # Copyright Microsoft Corporation
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ # Unless required by applicable law or agreed to in writing, software
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ # See the License for the specific language governing permissions and
12
+ # limitations under the License.
13
+ # ----------------------------------------------------------------------------------
14
+
15
+ <#
16
+ . SYNOPSIS
17
+ Test New-AzIntegrationAccountAssembly command
18
+ #>
19
+ function Test-NewIntegrationAccountAssembly
20
+ {
21
+ $localAssemblyFilePath = Join-Path $TestOutputRoot " Resources" " SampleAssembly.dll"
22
+ $assemblyContent = [IO.File ]::ReadAllBytes($localAssemblyFilePath )
23
+ $resourceGroup = TestSetup- CreateResourceGroup
24
+ $integrationAccountName = " IA-" + (getAssetname)
25
+ $integrationAccount = TestSetup- CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
26
+ $sampleMetadata = (SampleMetadata)
27
+
28
+ $integrationAccountAssemblyName = " SampleAssemblyFilePath"
29
+ $resultByFilePath = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
30
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
31
+
32
+ $integrationAccountAssemblyName = " SampleAssemblyFilePathParentObject"
33
+ $resultByFilePath = New-AzIntegrationAccountAssembly - ParentObject $integrationAccount - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
34
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
35
+
36
+ $integrationAccountAssemblyName = " SampleAssemblyFilePathId"
37
+ $resultByFilePath = New-AzIntegrationAccountAssembly - ParentResourceId $resultByFilePath.Id - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
38
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
39
+
40
+ $integrationAccountAssemblyName = " SampleAssemblyBytes"
41
+ $resultByBytes = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyData $assemblyContent
42
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
43
+
44
+ $integrationAccountAssemblyName = " SampleAssemblyBytesParentObject"
45
+ $resultByBytes = New-AzIntegrationAccountAssembly - ParentObject $integrationAccount - AssemblyName $integrationAccountAssemblyName - AssemblyData $assemblyContent
46
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
47
+
48
+ $integrationAccountAssemblyName = " SampleAssemblyBytesId"
49
+ $resultByBytes = New-AzIntegrationAccountAssembly - ParentResourceId $resultByFilePath.Id - AssemblyName $integrationAccountAssemblyName - AssemblyData $assemblyContent
50
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
51
+
52
+ $integrationAccountAssemblyName = " SampleAssemblyContentLink"
53
+ $resultByContentLink = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - ContentLink $resultByBytes.Properties.ContentLink.Uri
54
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
55
+
56
+ $integrationAccountAssemblyName = " SampleAssemblyContentLinkParentObject"
57
+ $resultByContentLink = New-AzIntegrationAccountAssembly - ParentObject $integrationAccount - AssemblyName $integrationAccountAssemblyName - ContentLink $resultByBytes.Properties.ContentLink.Uri
58
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
59
+
60
+ $integrationAccountAssemblyName = " SampleAssemblyContentLinkId"
61
+ $resultByContentLink = New-AzIntegrationAccountAssembly - ParentResourceId $resultByFilePath.Id - AssemblyName $integrationAccountAssemblyName - ContentLink $resultByBytes.Properties.ContentLink.Uri
62
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
63
+
64
+ $integrationAccountAssemblyName = " SampleAssemblyMetadata"
65
+ $resultMetadata = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath - Metadata $sampleMetadata
66
+ Assert-AreEqual $integrationAccountAssemblyName $resultMetadata.Name
67
+ Assert-AreEqual $sampleMetadata [" key1" ] $resultMetadata.Properties.Metadata [" key1" ].Value
68
+
69
+ Remove-AzIntegrationAccount - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - Force
70
+ }
71
+
72
+ <#
73
+ . SYNOPSIS
74
+ Test Get-AzIntegrationAccountAssembly command
75
+ #>
76
+ function Test-GetIntegrationAccountAssembly
77
+ {
78
+ $localAssemblyFilePath = Join-Path $TestOutputRoot " Resources" " SampleAssembly.dll"
79
+ $resourceGroup = TestSetup- CreateResourceGroup
80
+ $integrationAccountName = " IA-" + (getAssetname)
81
+ $integrationAccount = TestSetup- CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
82
+ $sampleMetadata = (SampleMetadata)
83
+
84
+ $integrationAccountAssemblyName = " SampleAssembly"
85
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath - Metadata $sampleMetadata
86
+ Assert-AreEqual $integrationAccountAssemblyName $integrationAccountAssembly.Name
87
+ Assert-AreEqual $sampleMetadata [" key1" ] $integrationAccountAssembly.Properties.Metadata [" key1" ].Value
88
+
89
+ $resultByName = Get-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssembly.Name
90
+ Assert-AreEqual $integrationAccountAssemblyName $resultByName.Name
91
+
92
+ $resultByResourceId = Get-AzIntegrationAccountAssembly - ParentResourceId $integrationAccount.Id - AssemblyName $integrationAccountAssemblyName
93
+ Assert-AreEqual $integrationAccountAssemblyName $resultByResourceId.Name
94
+
95
+ $resultByResourceId = Get-AzIntegrationAccountAssembly - ParentResourceId $integrationAccount.Id
96
+ Assert-AreEqual 1 $resultByResourceId.Count
97
+
98
+ $resultByInputObject = Get-AzIntegrationAccountAssembly - ParentObject $integrationAccount - AssemblyName $integrationAccountAssemblyName
99
+ Assert-AreEqual $integrationAccountAssemblyName $resultByInputObject.Name
100
+
101
+ $resultByPipingInputObject = $integrationAccount | Get-AzIntegrationAccountAssembly - AssemblyName $integrationAccountAssemblyName
102
+ Assert-AreEqual $integrationAccountAssemblyName $resultByPipingInputObject.Name
103
+
104
+ $resultByInputObject = Get-AzIntegrationAccountAssembly - ParentObject $integrationAccount
105
+ Assert-AreEqual 1 $resultByInputObject.Count
106
+
107
+ $resultByPipingInputObject = $integrationAccount | Get-AzIntegrationAccountAssembly
108
+ Assert-AreEqual 1 $resultByPipingInputObject.Count
109
+
110
+ Remove-AzIntegrationAccount - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - Force
111
+ }
112
+
113
+ <#
114
+ . SYNOPSIS
115
+ Test Remove-AzIntegrationAccountAssembly command
116
+ #>
117
+ function Test-RemoveIntegrationAccountAssembly
118
+ {
119
+ $localAssemblyFilePath = Join-Path $TestOutputRoot " Resources" " SampleAssembly.dll"
120
+ $resourceGroup = TestSetup- CreateResourceGroup
121
+ $integrationAccountName = " IA-" + (getAssetname)
122
+ $integrationAccount = TestSetup- CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
123
+
124
+ $integrationAccountAssemblyName = " SampleAssembly"
125
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
126
+ Remove-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName
127
+
128
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
129
+ Remove-AzIntegrationAccountAssembly - ResourceId $integrationAccountAssembly.Id
130
+
131
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
132
+ Remove-AzIntegrationAccountAssembly - InputObject $integrationAccountAssembly
133
+
134
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
135
+ $integrationAccountAssembly | Remove-AzIntegrationAccountAssembly
136
+
137
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
138
+ Get-AzIntegrationAccountAssembly - ParentObject $integrationAccount - AssemblyName $integrationAccountAssemblyName | Remove-AzIntegrationAccountAssembly
139
+
140
+ Remove-AzIntegrationAccount - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - Force
141
+ }
142
+
143
+ <#
144
+ . SYNOPSIS
145
+ Test Set-AzIntegrationAccountAssembly command
146
+ #>
147
+ function Test-SetIntegrationAccountAssembly
148
+ {
149
+ $localAssemblyFilePath = Join-Path $TestOutputRoot " Resources" " SampleAssembly.dll"
150
+ $assemblyContent = [IO.File ]::ReadAllBytes($localAssemblyFilePath )
151
+ $resourceGroup = TestSetup- CreateResourceGroup
152
+ $integrationAccountName = " IA-" + (getAssetname)
153
+ $integrationAccount = TestSetup- CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
154
+
155
+ $integrationAccountAssemblyName = " SampleAssemblyFilePath"
156
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
157
+ Assert-AreEqual $integrationAccountAssemblyName $integrationAccountAssembly.Name
158
+
159
+ $resultByFilePath = Set-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyFilePath $localAssemblyFilePath
160
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
161
+
162
+ $resultByFilePath = Set-AzIntegrationAccountAssembly - InputObject $resultByFilePath - AssemblyFilePath $localAssemblyFilePath
163
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
164
+
165
+ $resultByFilePath = Set-AzIntegrationAccountAssembly - ResourceId $resultByFilePath.Id - AssemblyFilePath $localAssemblyFilePath
166
+ Assert-AreEqual $integrationAccountAssemblyName $resultByFilePath.Name
167
+
168
+ $integrationAccountAssemblyName = " SampleAssemblyBytes"
169
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyData $assemblyContent
170
+ Assert-AreEqual $integrationAccountAssemblyName $integrationAccountAssembly.Name
171
+
172
+ $resultByBytes = Set-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - AssemblyData $assemblyContent
173
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
174
+
175
+ $resultByBytes = Set-AzIntegrationAccountAssembly - InputObject $integrationAccountAssembly - AssemblyData $assemblyContent
176
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
177
+
178
+ $resultByBytes = Set-AzIntegrationAccountAssembly - ResourceId $integrationAccountAssembly.Id - AssemblyData $assemblyContent
179
+ Assert-AreEqual $integrationAccountAssemblyName $resultByBytes.Name
180
+
181
+ $integrationAccountAssemblyName = " SampleAssemblyContentLink"
182
+ $integrationAccountAssembly = New-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - ContentLink $resultByBytes.Properties.ContentLink.Uri
183
+ Assert-AreEqual $integrationAccountAssemblyName $integrationAccountAssembly.Name
184
+
185
+ $resultByContentLink = Set-AzIntegrationAccountAssembly - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - AssemblyName $integrationAccountAssemblyName - ContentLink $resultByBytes.Properties.ContentLink.Uri
186
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
187
+
188
+ $resultByContentLink = Set-AzIntegrationAccountAssembly - InputObject $integrationAccountAssembly - ContentLink $resultByBytes.Properties.ContentLink.Uri
189
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
190
+
191
+ $resultByContentLink = Set-AzIntegrationAccountAssembly - ResourceId $integrationAccountAssembly.Id - ContentLink $resultByBytes.Properties.ContentLink.Uri
192
+ Assert-AreEqual $integrationAccountAssemblyName $resultByContentLink.Name
193
+
194
+ Remove-AzIntegrationAccount - ResourceGroupName $resourceGroup.ResourceGroupName - IntegrationAccountName $integrationAccountName - Force
195
+ }
0 commit comments