Skip to content

Commit 4abdb97

Browse files
author
Maddie Clayton
authored
Merge pull request #8483 from refortie/add-new-ia-artifact-cmdlets
[LogicApp] Add new Integration Account artifact cmdlets
2 parents 45e264c + 3258692 commit 4abdb97

File tree

50 files changed

+14216
-50
lines changed

Some content is hidden

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

50 files changed

+14216
-50
lines changed
Binary file not shown.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"properties": {
3+
"batchGroupName": "DEFAULT",
4+
"releaseCriteria": {
5+
"recurrence": {
6+
"frequency": "Week",
7+
"interval": 1
8+
}
9+
}
10+
}
11+
}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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+
namespace Microsoft.Azure.Commands.LogicApp.Test.ScenarioTests
15+
{
16+
using Microsoft.Azure.ServiceManagement.Common.Models;
17+
using Microsoft.WindowsAzure.Commands.ScenarioTest;
18+
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
19+
using Xunit;
20+
21+
/// <summary>
22+
/// Scenario tests for integration account assembly commands.
23+
/// </summary>
24+
public class IntegrationAccountAssemblyTests : RMTestBase
25+
{
26+
public XunitTracingInterceptor _logger;
27+
public IntegrationAccountAssemblyTests(Xunit.Abstractions.ITestOutputHelper output)
28+
{
29+
_logger = new XunitTracingInterceptor(output);
30+
XunitTracingInterceptor.AddToContext(_logger);
31+
}
32+
33+
/// <summary>
34+
/// Test New-AzIntegrationAccountAssembly command to create a new integration account assembly.
35+
/// </summary>
36+
[Fact]
37+
[Trait(Category.AcceptanceType, Category.CheckIn)]
38+
public void TestNewAssembly()
39+
{
40+
WorkflowController.NewInstance.RunPowerShellTest(_logger, "Test-NewIntegrationAccountAssembly");
41+
}
42+
43+
/// <summary>
44+
/// Test Get-AzIntegrationAccountAssembly command to get the integration account assembly.
45+
/// </summary>
46+
[Fact]
47+
[Trait(Category.AcceptanceType, Category.CheckIn)]
48+
public void TestGetAssembly()
49+
{
50+
WorkflowController.NewInstance.RunPowerShellTest(_logger, "Test-GetIntegrationAccountAssembly");
51+
}
52+
53+
/// <summary>
54+
/// Test Remove-AzIntegrationAccountAssembly command to remove the integration account assembly.
55+
/// </summary>
56+
[Fact]
57+
[Trait(Category.AcceptanceType, Category.CheckIn)]
58+
public void TestRemoveAssembly()
59+
{
60+
WorkflowController.NewInstance.RunPowerShellTest(_logger, "Test-RemoveIntegrationAccountAssembly");
61+
}
62+
63+
/// <summary>
64+
/// Test Set-AzIntegrationAccountAssembly command to update the integration account assembly.
65+
/// </summary>
66+
[Fact]
67+
[Trait(Category.AcceptanceType, Category.CheckIn)]
68+
public void TestSetAssembly()
69+
{
70+
WorkflowController.NewInstance.RunPowerShellTest(_logger, "Test-SetIntegrationAccountAssembly");
71+
}
72+
}
73+
}
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
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

Comments
 (0)