Skip to content

Commit bd0bc7d

Browse files
authored
Merge pull request Azure#3641 from daviburg/daviburg-sessionerrorresultfix
Logic cmdlet: Logic IA Session fix error response
2 parents 985f2cb + c84070b commit bd0bc7d

File tree

11 files changed

+276
-235
lines changed

11 files changed

+276
-235
lines changed

src/ResourceManager/LogicApp/Commands.LogicApp.Test/Commands.LogicApp.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@
6363
<SpecificVersion>False</SpecificVersion>
6464
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Authorization.2.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll</HintPath>
6565
</Reference>
66-
<Reference Include="Microsoft.Azure.Management.Logic, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
66+
<Reference Include="Microsoft.Azure.Management.Logic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
6767
<SpecificVersion>False</SpecificVersion>
68-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Logic.2.1.0\lib\net45\Microsoft.Azure.Management.Logic.dll</HintPath>
68+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Logic.3.0.0\lib\net45\Microsoft.Azure.Management.Logic.dll</HintPath>
6969
</Reference>
7070
<Reference Include="Microsoft.Azure.Management.WebSites, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
7171
<SpecificVersion>False</SpecificVersion>

src/ResourceManager/LogicApp/Commands.LogicApp.Test/ScenarioTests/IntegrationAccountAgreementTests.ps1

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,18 @@ Test Get-AzureRmIntegrationAccountAgreement command
167167
function Test-GetIntegrationAccountAgreement
168168
{
169169
$agreementX12FilePath = "$TestOutputRoot\Resources\IntegrationAccountX12AgreementContent.json"
170-
$agreementX12Content = [IO.File]::ReadAllText($agreementX12FilePath)
170+
$agreementX12Content = [IO.File]::ReadAllText($agreementX12FilePath)
171+
172+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountAgreement -ResourceGroupName "Random83da135" -IntegrationAccountName "DoesNotMatter" -AgreementName "DoesNotMatter" } "Resource group 'Random83da135' could not be found."
171173

172174
$resourceGroup = TestSetup-CreateNamedResourceGroup "IntegrationAccountPsCmdletTest"
173-
$integrationAccountName = getAssetname
175+
$integrationAccountName = getAssetname
174176

175-
$integrationAccountX12AgreementName = getAssetname
177+
$integrationAccountX12AgreementName = getAssetname
176178

177179
$integrationAccount = TestSetup-CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
178180

179-
$hostPartnerName = getAssetname
181+
$hostPartnerName = getAssetname
180182
$guestPartnerName = getAssetname
181183
$hostBusinessIdentities = @(("AA","AA"), ("BB","BB"))
182184
$guestBusinessIdentities = @(("ZZ","ZZ"), ("XX","XX"))
@@ -189,7 +191,7 @@ function Test-GetIntegrationAccountAgreement
189191
Assert-AreEqual $integrationAccountX12AgreementName $result.Name
190192

191193
$result1 = Get-AzureRmIntegrationAccountAgreement -ResourceGroupName $resourceGroup.ResourceGroupName -IntegrationAccountName $integrationAccountName
192-
Assert-True { $result1.Count -gt 0 }
194+
Assert-True { $result1.Count -gt 0 }
193195

194196
Remove-AzureRmIntegrationAccount -ResourceGroupName $resourceGroup.ResourceGroupName -IntegrationAccountName $integrationAccountName -Force
195197
}

src/ResourceManager/LogicApp/Commands.LogicApp.Test/ScenarioTests/IntegrationAccountGeneratedIcnTests.ps1

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,14 @@ function Test-GetIntegrationAccountGeneratedControlNumber
5959
$agreementX12FilePath = "$TestOutputRoot\Resources\IntegrationAccountX12AgreementContent.json"
6060
$agreementX12Content = [IO.File]::ReadAllText($agreementX12FilePath)
6161

62-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName "Random83da135" -Name "DoesNotMatter" -AgreementName "DoesNotMatter" } "Resource group 'Random83da135' could not be found."
62+
# This error string is less than ideal due to AutoRest bug https://github.com/Azure/autorest/issues/2022
63+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName "Random83da135" -Name "DoesNotMatter" -AgreementName "DoesNotMatter" } "Operation returned an invalid status code 'NotFound'"
6364

6465
$resourceGroup = TestSetup-CreateNamedResourceGroup "IntegrationAccountPsCmdletTest"
6566
$integrationAccountName = getAssetname
6667
$integrationAccountX12AgreementName = getAssetname
6768

68-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name "Random83da135" -AgreementName "DoesNotMatter" } "The Resource 'Microsoft.Logic/integrationAccounts/Random83da135' under resource group 'IntegrationAccountPsCmdletTest' was not found."
69+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name "Random83da135" -AgreementName "DoesNotMatter" } "Operation returned an invalid status code 'NotFound'"
6970

7071
$integrationAccount = TestSetup-CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
7172

@@ -89,7 +90,7 @@ function Test-GetIntegrationAccountGeneratedControlNumber
8990
# So working this around by using ARM resource cmdlet to create a dummy entry.
9091

9192
# Before the workaround the control number containing session ressource cannot be found in the integration account.
92-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountX12AgreementName } "could not be found in integration account"
93+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountX12AgreementName } "Operation returned an invalid status code 'NotFound'"
9394

9495
# Now we create one with the legacy raw control number content. This cmdlet will intentionally fail to deserialize: it is meant only to operate on new control numbers that have been replicated for the purpose of disaster recovery.
9596
InitializeGeneratedControlNumberSession -resourceGroup $resourceGroup -integrationAccountName $integrationAccountName -integrationAccountX12AgreementName $integrationAccountX12AgreementName -oldformat $true
@@ -134,7 +135,7 @@ function Test-UpdateIntegrationAccountGenCN
134135
Assert-AreEqual "X12" $integrationAccountAgreement.AgreementType
135136

136137
# Verify inserting new control number records is not allowed
137-
Assert-ThrowsContains { Set-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumber "789" } "could not be found in integration account"
138+
Assert-ThrowsContains { Set-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumber "789" } "Operation returned an invalid status code 'NotFound'"
138139

139140
InitializeGeneratedControlNumberSession -resourceGroup $resourceGroup -integrationAccountName $integrationAccountName -integrationAccountX12AgreementName $integrationAccountAgreementName -oldformat $false
140141
$initialControlNumber = Get-AzureRmIntegrationAccountGeneratedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName

src/ResourceManager/LogicApp/Commands.LogicApp.Test/ScenarioTests/IntegrationAccountReceivedIcnTests.ps1

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,14 @@ function Test-GetIntegrationAccountReceivedIcn
6060
$agreementX12FilePath = "$TestOutputRoot\Resources\IntegrationAccountX12AgreementContent.json"
6161
$agreementX12Content = [IO.File]::ReadAllText($agreementX12FilePath)
6262

63-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName "Random83da135" -Name "DoesNotMatter" -AgreementName "DoesNotMatter" -controlNumberValue "DoesNotMatter" } "Resource group 'Random83da135' could not be found."
63+
# This error string is less than ideal due to AutoRest bug https://github.com/Azure/autorest/issues/2022
64+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName "Random83da135" -Name "DoesNotMatter" -AgreementName "DoesNotMatter" -controlNumberValue "DoesNotMatter" } "Operation returned an invalid status code 'NotFound'"
6465

6566
$resourceGroup = TestSetup-CreateNamedResourceGroup "IntegrationAccountPsCmdletTest"
6667
$integrationAccountName = getAssetname
6768
$integrationAccountX12AgreementName = getAssetname
6869

69-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name "Random83da135" -AgreementName "DoesNotMatter" -ControlNumberValue "DoesNotMatter" } "The Resource 'Microsoft.Logic/integrationAccounts/Random83da135' under resource group 'IntegrationAccountPsCmdletTest' was not found."
70+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name "Random83da135" -AgreementName "DoesNotMatter" -ControlNumberValue "DoesNotMatter" } "Operation returned an invalid status code 'NotFound'"
7071

7172
$integrationAccount = TestSetup-CreateIntegrationAccount $resourceGroup.ResourceGroupName $integrationAccountName
7273

@@ -90,7 +91,7 @@ function Test-GetIntegrationAccountReceivedIcn
9091
# So working this around by using ARM resource cmdlet to create a dummy entry.
9192

9293
# Before the workaround the control number containing session ressource cannot be found in the integration account.
93-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountX12AgreementName -ControlNumberValue "1000" } "could not be found in integration account"
94+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountX12AgreementName -ControlNumberValue "1000" } "Operation returned an invalid status code 'NotFound'"
9495

9596
# Now we create one with the legacy raw control number content. This cmdlet will intentionally fail to deserialize: it is meant only to operate on new control numbers that have been replicated for the purpose of disaster recovery.
9697
InitializeReceivedControlNumberSession -resourceGroup $resourceGroup -integrationAccountName $integrationAccountName -integrationAccountX12AgreementName $integrationAccountX12AgreementName -controlNumberValue "1000" -oldformat $true
@@ -131,7 +132,7 @@ function Test-RemoveIntegrationAccountReceivedIcn
131132
Assert-AreEqual $integrationAccountAgreementName $integrationAccountAgreement.Name
132133
Assert-AreEqual "X12" $integrationAccountAgreement.AgreementType
133134

134-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "could not be found in integration account"
135+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "Operation returned an invalid status code 'NotFound'"
135136

136137
# Verify removing non-existing control number records is allowed.
137138
Remove-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000"
@@ -142,7 +143,7 @@ function Test-RemoveIntegrationAccountReceivedIcn
142143

143144
Remove-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000"
144145

145-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "could not be found in integration account"
146+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "Operation returned an invalid status code 'NotFound'"
146147

147148
Assert-ThrowsContains { Remove-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName } "Cannot process command because of one or more missing mandatory parameters: ControlNumberValue."
148149

@@ -178,7 +179,7 @@ function Test-UpdateIntegrationAccountReceivedIcn
178179
Assert-AreEqual $integrationAccountAgreementName $integrationAccountAgreement.Name
179180
Assert-AreEqual "X12" $integrationAccountAgreement.AgreementType
180181

181-
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "could not be found in integration account"
182+
Assert-ThrowsContains { Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000" } "Operation returned an invalid status code 'NotFound'"
182183

183184
InitializeReceivedControlNumberSession -resourceGroup $resourceGroup -integrationAccountName $integrationAccountName -integrationAccountX12AgreementName $integrationAccountAgreementName -controlNumberValue "1000" -oldformat $false
184185
$initialControlNumber = Get-AzureRmIntegrationAccountReceivedIcn -ResourceGroupName $resourceGroup.ResourceGroupName -Name $integrationAccountName -AgreementName $integrationAccountAgreementName -ControlNumberValue "1000"

0 commit comments

Comments
 (0)