Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync live test to main branch #21275

Merged
merged 69 commits into from
Mar 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
31249da
Add a live test for AKS (#20618)
YanaXu Jan 11, 2023
27768a3
Enabled live test and added new function for local debug
vidai-msft Jan 13, 2023
decc3a9
Enabled live test and added new function for local debug (#20656)
vidai-msft Jan 13, 2023
358a6bb
Merge remote-tracking branch 'upstream/shared/livetest' into shared/l…
vidai-msft Jan 13, 2023
856e4d3
Updated artifacts name for daily build and set trigger to none
vidai-msft Jan 13, 2023
59b1e5a
Fixed issues in live test
vidai-msft Jan 14, 2023
fa02282
fix aks test case (#20684)
YanaXu Jan 17, 2023
65ddc9e
Updated the script for local test and added a new parameter to specif…
vidai-msft Jan 19, 2023
3628707
Shared/livetest (#20714)
vidai-msft Jan 19, 2023
6fec135
Added one test case for network
vidai-msft Jan 25, 2023
28f0d19
Updated timeout from defatul to 180 mins
vidai-msft Jan 29, 2023
0fa08ad
Added failure retry when error occurs during connecting az account
vidai-msft Jan 29, 2023
81d41f7
Shortened the random resource name to 15 in total
vidai-msft Jan 29, 2023
d0daaaa
Shared/livetest: Create livetest, storage and VM (#20678)
Alex-wdy Jan 31, 2023
103ae87
[PS - LiveTest] Fix storage live test failure (#20815)
Alex-wdy Feb 1, 2023
a090e9e
Exposed the cmdlet Invoke-LiveTestCommand used to retry a single cmdl…
vidai-msft Feb 2, 2023
0f33057
Exposed the cmdlet Invoke-LiveTestCommand used to retry a single cmdl…
vidai-msft Feb 2, 2023
e18f664
Add live test cases for bot service. (#20830)
NoriZC Feb 2, 2023
bbb7171
Merge remote-tracking branch 'upstream/shared/livetest' into shared/l…
vidai-msft Feb 2, 2023
2d3decc
Shortened the retry count to 3 and installed all az modules including…
vidai-msft Feb 3, 2023
627f2ee
Disabled the live test for BotService
vidai-msft Feb 6, 2023
21c6e90
Add live test for Az.SpringCloud (#20863)
wyunchi-ms Feb 7, 2023
fe8f338
Disable the live test for SpringCloud (#20879)
wyunchi-ms Feb 8, 2023
d4fb1f6
Removed some of the run instances for the time being
vidai-msft Feb 8, 2023
ee92322
Removed some of the run instances for the time being (#20882)
vidai-msft Feb 8, 2023
0587ef1
Merge remote-tracking branch 'upstream/shared/livetest' into shared/l…
vidai-msft Feb 10, 2023
5672de1
Enabled debug log and added more debug info to Aks live test
vidai-msft Feb 10, 2023
19ace6f
Added debug info for Aks module (#20896)
vidai-msft Feb 10, 2023
488facc
Merge remote-tracking branch 'upstream/main' into shared/livetest
vidai-msft Feb 14, 2023
0193b4c
Merged main to shared/livetest (#20918)
vidai-msft Feb 14, 2023
ed69e86
Add back the spring cloud live test (#20919)
wyunchi-ms Feb 14, 2023
d366972
Merge remote-tracking branch 'upstream/shared/livetest' into shared/l…
vidai-msft Feb 15, 2023
b9ca3d2
Fix the live test of developement (#20940)
wyunchi-ms Feb 16, 2023
439362b
[Az. ApplicationInsights] Add testcases for livetest (#20943)
NoriZC Feb 16, 2023
9518e59
Merge remote-tracking branch 'upstream/shared/livetest' into shared/l…
vidai-msft Feb 19, 2023
c0ebc5f
Added live test cases for KeyVault and Compute
vidai-msft Feb 19, 2023
af59e9f
Added live test for Network
vidai-msft Feb 20, 2023
e66c451
Merge remote-tracking branch 'upstream/main' into shared/livetest
vidai-msft Feb 20, 2023
0450ca1
Added live test cases for Network and DNS (#20988)
vidai-msft Feb 21, 2023
a997c19
Add livetest for websites and remove list case in applicationinsights…
NoriZC Feb 21, 2023
d1eda8e
Added live test cases (#21011)
vidai-msft Feb 22, 2023
417c482
Add service plan parameter to get/delete web app test case. (#21017)
NoriZC Feb 23, 2023
8a45596
Add livetest for Analysis Services (#21043)
NoriZC Feb 27, 2023
49459fb
Shared/livetest (#21052)
vidai-msft Feb 27, 2023
6837fd0
Added live test for ssh key (#21056)
vidai-msft Feb 27, 2023
a06dbc9
Livetest (#21044)
Nickcandy Feb 28, 2023
5e8064d
Updated live test to use jobs for resource cleanup (#21070)
vidai-msft Feb 28, 2023
93d329c
Disable livetest cases for Analysis Services (#21072)
NoriZC Feb 28, 2023
0258961
Added live test for desktop virtualization (#21074)
vidai-msft Feb 28, 2023
976c755
Reverted cmdlet error check and added -Force for New-AzResourceGroup …
vidai-msft Mar 1, 2023
5d82b27
Delete TestLiveScenarios.ps1
vidai-msft Mar 1, 2023
7daebc3
Removed $lastexitcode due to unexpected issues on non-windows systems…
vidai-msft Mar 1, 2023
6aa7a2d
Add livetest for sql (#21095)
NoriZC Mar 2, 2023
a78c850
Added live test for Synapse (#21109)
vidai-msft Mar 2, 2023
a95aef5
Add service plan when creating web app in all cases (#21113)
NoriZC Mar 3, 2023
f5ae610
Disabled live test for Spring Cloud until the function to specify pla…
vidai-msft Mar 3, 2023
c135834
Updated live test to support selected platform and ps version as well…
vidai-msft Mar 5, 2023
9f5137f
Updated live test for testing
vidai-msft Mar 5, 2023
883ab67
Updated live test to support specifying platform and ps version
vidai-msft Mar 5, 2023
ad62449
Added back powershell host 7.0.x and re-enabled test case for Spring …
vidai-msft Mar 6, 2023
e7094e4
Updated local debug script. Use current location instead of test cove…
vidai-msft Mar 6, 2023
5c4bbef
Removed Invoke-Expression as it is not recommended by PS team and rep…
vidai-msft Mar 7, 2023
037e354
Fixed bug for Sign pipeline
vidai-msft Mar 8, 2023
c6a8d0f
Print out installed powershell modules
vidai-msft Mar 10, 2023
b8cd4cb
Updated live test for Network to follow best practices
vidai-msft Mar 15, 2023
12eb15a
Merge remote-tracking branch 'upstream/main' into shared/livetest
vidai-msft Mar 15, 2023
fa35bcf
Added new Windows-2022 platform for live test
vidai-msft Mar 15, 2023
691185f
Merge remote-tracking branch 'upstream/main' into shared/livetest
vidai-msft Mar 22, 2023
26145b9
Fixed assertion issue and replaced branch to main
vidai-msft Mar 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 113 additions & 32 deletions .azure-pipelines/live-test.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
parameters:
- name: win_image
displayName: Windows Image Version
- name: img_windows_2019
displayName: Windows 2019 Image Version
type: string
default: windows-2019
- name: linux_image
- name: img_windows_2022
displayName: Windows 2022 Image Version
type: string
default: windows-2022
- name: img_linux
displayName: Linux Image Version
type: string
default: ubuntu-20.04
- name: macOS_image
- name: img_macos
displayName: MacOS Image Version
type: string
default: macOS-11
Expand All @@ -18,15 +22,19 @@ parameters:
- name: ps_7_0_x
displayName: PowerShell 7.0.x Version
type: string
default: 7.0.13
default: 7.0.*
- name: ps_7_1_x
displayName: PowerShell 7.1.x Version
type: string
default: 7.1.7
default: 7.1.*
- name: ps_7_2_x
displayName: PowerShell 7.2.x Version
type: string
default: 7.2.7
default: 7.2.*
- name: ps_7_3_x
displayName: PowerShell 7.3.x Version
type: string
default: 7.3.*
- name: ps_latest
displayName: PowerShell Latest Version
type: string
Expand All @@ -41,88 +49,161 @@ parameters:
default: 7.0.x

variables:
LiveTestArtifactsName: LiveTestArtifacts
LiveTestDataLocation: $(Pipeline.Workspace)/$(LiveTestArtifactsName)
EnableTestCoverage: true
TestCoverageLocation: $(LiveTestDataLocation)
ArtifactsName: LiveTestArtifacts
DataLocation: $(Pipeline.Workspace)/$(ArtifactsName)

schedules:
- cron: "0 19 * * *"
displayName: Daily Live Test
branches:
include:
- main
always: true

pr: none
trigger: none

jobs:
- template: util/live-test-steps.yml
parameters:
name: 'win_ps_5_1'
vmImage: ${{ parameters.win_image }}
name: 'win_ps_5_1_win_2019'
vmImage: ${{ parameters.img_windows_2019 }}
osType: 'Windows'
psVersion: ${{ parameters.win_ps_5_1 }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'win_ps_5_1_win_2022'
vmImage: ${{ parameters.img_windows_2022 }}
osType: 'Windows'
psVersion: ${{ parameters.win_ps_5_1 }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_0_x_win'
vmImage: ${{ parameters.win_image }}
name: 'ps_7_0_x_win_2019'
vmImage: ${{ parameters.img_windows_2019 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_0_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_1_x_win'
vmImage: ${{ parameters.win_image }}
name: 'ps_7_1_x_win_2019'
vmImage: ${{ parameters.img_windows_2019 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_1_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_2_x_win'
vmImage: ${{ parameters.win_image }}
name: 'ps_7_2_x_win_2019'
vmImage: ${{ parameters.img_windows_2019 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_2_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_latest_win'
vmImage: ${{ parameters.win_image }}
psVersion: ${{ parameters.ps_latest }}
name: 'ps_7_3_x_win_2019'
vmImage: ${{ parameters.img_windows_2019 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_3_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_0_x_win_2022'
vmImage: ${{ parameters.img_windows_2022 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_0_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_1_x_win_2022'
vmImage: ${{ parameters.img_windows_2022 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_1_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_2_x_win_2022'
vmImage: ${{ parameters.img_windows_2022 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_2_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_3_x_win_2022'
vmImage: ${{ parameters.img_windows_2022 }}
osType: 'Windows'
psVersion: ${{ parameters.ps_7_3_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_0_x_linux'
vmImage: ${{ parameters.linux_image }}
vmImage: ${{ parameters.img_linux }}
osType: 'Linux'
psVersion: ${{ parameters.ps_7_0_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_1_x_linux'
vmImage: ${{ parameters.linux_image }}
vmImage: ${{ parameters.img_linux }}
osType: 'Linux'
psVersion: ${{ parameters.ps_7_1_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_2_x_linux'
vmImage: ${{ parameters.linux_image }}
vmImage: ${{ parameters.img_linux }}
osType: 'Linux'
psVersion: ${{ parameters.ps_7_2_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_latest_linux'
vmImage: ${{ parameters.linux_image }}
psVersion: ${{ parameters.ps_latest }}
name: 'ps_7_3_x_linux'
vmImage: ${{ parameters.img_linux }}
osType: 'Linux'
psVersion: ${{ parameters.ps_7_3_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_0_x_macOS'
vmImage: ${{ parameters.img_macos }}
osType: 'MacOS'
psVersion: ${{ parameters.ps_7_0_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_1_x_macOS'
vmImage: ${{ parameters.img_macos }}
osType: 'MacOS'
psVersion: ${{ parameters.ps_7_1_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_7_2_x_macOS'
vmImage: ${{ parameters.macOS_image }}
vmImage: ${{ parameters.img_macos }}
osType: 'MacOS'
psVersion: ${{ parameters.ps_7_2_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}

- template: util/live-test-steps.yml
parameters:
name: 'ps_latest_macOS'
vmImage: ${{ parameters.macOS_image }}
psVersion: ${{ parameters.ps_latest }}
name: 'ps_7_3_x_macOS'
vmImage: ${{ parameters.img_macos }}
osType: 'MacOS'
psVersion: ${{ parameters.ps_7_3_x }}
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
73 changes: 51 additions & 22 deletions .azure-pipelines/util/live-test-steps.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
parameters:
- name: name
- name: vmImage
- name: osType
- name: psVersion
- name: dotnetVersion

jobs:
- job: ${{ parameters.name }}
timeoutInMinutes: 180
timeoutInMinutes: 600
pool:
vmImage: ${{ parameters.vmImage }}

Expand All @@ -32,40 +33,64 @@ jobs:
pwsh: true
targetType: inline
script:
New-Item -Name $(LiveTestArtifactsName) -Path $(Pipeline.Workspace) -ItemType Directory -Force
New-Item -Name $(ArtifactsName) -Path $(Pipeline.Workspace) -ItemType Directory -Force

- task: DownloadPipelineArtifact@2
condition: and(succeeded(), eq(variables['GalleryName'], 'DailyBuild'), eq(variables['BuildPipelineBuildId'], ''))
condition: and(succeeded(), eq(variables['GalleryName'], 'DailyBuild'), eq(variables['PipelineBuildId'], ''))
displayName: Download latest artifacts from daily build pipeline main branch
inputs:
buildType: specific
project: $(ProjectToDownloadArtifacts)
buildType: 'specific'
project: $(BuildPipelineProject)
definition: $(BuildPipelineDefinitionId)
buildVersionToDownload: latestFromBranch
branchName: refs/heads/master
artifactName: $(ArtifactName)
buildVersionToDownload: 'latestFromBranch'
branchName: 'refs/heads/main'
artifactName: 'artifacts'
targetPath: $(Pipeline.Workspace)

- task: DownloadPipelineArtifact@2
condition: and(succeeded(), eq(variables['GalleryName'], 'DailyBuild'), ne(variables['BuildPipelineBuildId'], ''))
condition: and(succeeded(), eq(variables['GalleryName'], 'DailyBuild'), ne(variables['PipelineBuildId'], ''))
displayName: Download specific artifacts from daily build pipeline
inputs:
buildType: specific
project: $(ProjectToDownloadArtifacts)
buildType: 'specific'
project: $(BuildPipelineProject)
definition: $(BuildPipelineDefinitionId)
buildVersionToDownload: specific
pipelineId: $(BuildPipelineBuildId)
artifactName: $(ArtifactName)
buildVersionToDownload: 'specific'
pipelineId: $(PipelineBuildId)
artifactName: 'artifacts'
targetPath: $(Pipeline.Workspace)

- task: DownloadPipelineArtifact@2
condition: and(succeeded(), eq(variables['GalleryName'], 'Sign'), eq(variables['PipelineBuildId'], ''))
displayName: Download latest artifacts from sign pipeline internal/release branch
inputs:
buildType: 'specific'
project: $(SignPipelineProject)
definition: $(SignPipelineDefinitionId)
buildVersionToDownload: 'latestFromBranch'
branchName: 'refs/heads/internal/release'
artifactName: 'artifacts'
targetPath: $(Pipeline.Workspace)

- task: DownloadPipelineArtifact@2
condition: and(succeeded(), eq(variables['GalleryName'], 'Sign'), ne(variables['PipelineBuildId'], ''))
displayName: Download specific artifacts from sign pipeline
inputs:
buildType: 'specific'
project: $(SignPipelineProject)
definition: $(SignPipelineDefinitionId)
buildVersionToDownload: 'specific'
pipelineId: $(PipelineBuildId)
artifactName: 'artifacts'
targetPath: $(Pipeline.Workspace)

- task: PowerShell@2
condition: and(succeeded(), eq(variables['GalleryName'], 'DailyBuild'))
condition: and(succeeded(), ne(variables['GalleryName'], 'PSGallery'))
displayName: Copy artifacts to local repository
inputs:
pwsh: true
targetType: inline
script: |
$azPackagesDir = New-Item -Name AzPackages -Path $(LiveTestDataLocation) -ItemType Directory -Force
$azPackagesDir = New-Item -Name AzPreviewPackages -Path $(DataLocation) -ItemType Directory -Force
$azPackagesFiles = Join-Path -Path $(Pipeline.Workspace) -ChildPath *.nupkg
Move-Item -Path $azPackagesFiles -Destination $azPackagesDir
Get-ChildItem -LiteralPath $azPackagesDir
Expand All @@ -76,7 +101,7 @@ jobs:
pwsh: true
targetType: filePath
filePath: ./tools/TestFx/Live/InvokeLiveTestCITask.ps1
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/InstallLiveTestAzModules.ps1 -Source $(GalleryName) -AzPackagesLocation (Convert-Path -LiteralPath $(LiveTestDataLocation) | Join-Path -ChildPath AzPackages)'
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/InstallLiveTestAzModules.ps1 -Source $(GalleryName) -AzPackagesLocation (Join-Path -Path $(DataLocation) -ChildPath AzPreviewPackages)'

- task: PowerShell@2
displayName: Connect Azure with live test service principal
Expand All @@ -85,27 +110,31 @@ jobs:
targetType: filePath
filePath: ./tools/TestFx/Live/InvokeLiveTestCITask.ps1
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/ConnectLiveTestServicePrincipal.ps1 $(LiveTestServicePrincipalSubscriptionId) $(LiveTestServicePrincipalTenantId) $(LiveTestServicePrincipalId) $(LiveTestServicePrincipalSecret)'
failOnStderr: true
retryCountOnTaskFailure: 3

- task: PowerShell@2
displayName: Run top E2E live scenarios
inputs:
pwsh: true
targetType: filePath
filePath: ./tools/TestFx/Live/InvokeLiveTestCITask.ps1
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/InvokeLiveTestScenarios.ps1 $(Build.BuildId) ${{ parameters.vmImage }} ${{ parameters.psVersion }} $(Build.SourcesDirectory) $(LiveTestDataLocation)'
failOnStderr: true
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/InvokeLiveTestScenarios.ps1 -RunPlatform ${{ parameters.osType }} -RepoLocation $(Build.SourcesDirectory) -DataLocation $(DataLocation)'

- task: PowerShell@2
displayName: Save live test results to Kusto
condition: succeededOrFailed()
inputs:
pwsh: true
targetType: filePath
filePath: ./tools/TestFx/Live/SaveLiveTestResult.ps1
arguments: $(KustoServicePrincipalTenantId) $(KustoServicePrincipalId) $(KustoServicePrincipalSecret) $(KustoClusterName) $(KustoClusterRegion) $(LiveTestDatabaseName) $(LiveTestTableName) $(TestCoverageTableName) $(LiveTestDataLocation)
arguments: $(KustoServicePrincipalTenantId) $(KustoServicePrincipalId) $(KustoServicePrincipalSecret) $(KustoClusterName) $(KustoClusterRegion) $(LiveTestDatabaseName) $(LiveTestTableName) $(DataLocation) $(Build.BuildId) ${{ parameters.vmImage }} "$(Tag)"
failOnStderr: true
retryCountOnTaskFailure: 3

- task: PublishPipelineArtifact@1
displayName: Publish live test results to pipeline artifact
inputs:
artifact: livetest-os-${{ parameters.vmImage }}-powershell-${{ parameters.psVersion }}
targetPath: $(LiveTestDataLocation)
artifact: livetest-os-${{ parameters.vmImage }}-powershell-${{ parameters.name }}
targetPath: $(DataLocation)
condition: always()
20 changes: 20 additions & 0 deletions src/Accounts/Accounts.Test/LiveTests/TestLiveScenarios.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Invoke-LiveTestScenario -Name "Validate access token" -Description "Test validating access token" -NoResourceGroup -ScenarioScript `
{
$account = (Get-AzContext).Account
$applicationId = $account.Id
$tenantId = $account.Tenants[0]
$token = Get-AzAccessToken
Assert-AreEqual $applicationId $token.UserId
Assert-AreEqual $tenantId $token.TenantId
}

Invoke-LiveTestScenario -Name "Disconnect service principal account" -Description "Test disconnecting service principal account" -NoResourceGroup -ScenarioScript `
{
$account = (Get-AzContext).Account
$applicationId = $account.Id
$tenantId = $account.Tenants[0]
Disconnect-AzAccount -ApplicationId $applicationId -TenantId $tenantId

$token = Get-AzAccessToken -ErrorAction SilentlyContinue
Assert-True { ($null -eq $token) -or ($null -ne $token -and $token.UserId -ne $applicationId) }
}
Loading