@@ -54,6 +54,7 @@ Describe "Basic API" -Tag ScenarioTest {
54
54
55
55
AfterAll {
56
56
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
57
+ Remove-Module - Name Generated.Basic.Module
57
58
}
58
59
}
59
60
@@ -147,6 +148,7 @@ Describe "All Operations: Basic" -Tag ScenarioTest {
147
148
148
149
AfterAll {
149
150
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
151
+ Remove-Module - Name Generated.TypesTest.Module
150
152
}
151
153
}
152
154
@@ -192,6 +194,7 @@ Describe "Get/List tests" -Tag ScenarioTest {
192
194
193
195
AfterAll {
194
196
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
197
+ Remove-Module - Name Generated.GetList.Module
195
198
}
196
199
}
197
200
@@ -253,6 +256,7 @@ Describe "Optional parameter tests" -Tag ScenarioTest {
253
256
254
257
AfterAll {
255
258
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
259
+ Remove-Module - Name Generated.Optional.Module
256
260
}
257
261
}
258
262
@@ -458,6 +462,7 @@ Describe "ParameterTypes tests" -Tag @('ParameterTypes', 'ScenarioTest') {
458
462
459
463
AfterAll {
460
464
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
465
+ Remove-Module - Name Generated.ParamTypes.Module
461
466
}
462
467
}
463
468
@@ -579,6 +584,7 @@ Describe "AzureExtensions" -Tag @('AzureExtension', 'ScenarioTest') {
579
584
580
585
AfterAll {
581
586
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
587
+ Remove-Module - Name Generated.AzExt.Module
582
588
}
583
589
}
584
590
@@ -636,6 +642,8 @@ Describe "Composite Swagger Tests" -Tag @('Composite', 'ScenarioTest') {
636
642
$command.Parameters.StartDate.ParameterType.Name | Should be ' string'
637
643
$command.Parameters.EndDate.ParameterType.Name | Should be ' string'
638
644
$command.Parameters.ContainerUrl.ParameterType.Name | Should be ' uri'
645
+
646
+ Remove-Module - Name CompositeSwaggerModule
639
647
}
640
648
}
641
649
}
@@ -664,6 +672,10 @@ Describe "AllOfDefinition" -Tag @('AllOf', 'ScenarioTest') {
664
672
$guitar.NumberOfStrings | should be $null
665
673
}
666
674
}
675
+
676
+ AfterAll {
677
+ Remove-Module - Name Generated.AllOfDefinition.Module
678
+ }
667
679
}
668
680
669
681
Describe " AuthTests" - Tag @ (' Auth' , ' ScenarioTest' ) {
@@ -844,6 +856,13 @@ Describe "AuthTests" -Tag @('Auth', 'ScenarioTest') {
844
856
}
845
857
}
846
858
}
859
+
860
+ AfterAll {
861
+ Remove-Module - Name " Generated.BasicAuthTest.Module"
862
+ Remove-Module - Name " Generated.BasicAuthTestNoChallenge.Module"
863
+ Remove-Module - Name " Generated.ApiKeyHeaderTest.Module"
864
+ Remove-Module - Name " Generated.ApiKeyQueryTest.Module"
865
+ }
847
866
}
848
867
849
868
Describe " PSMetadataTests" - Tag @ (' PSMetadata' , ' ScenarioTest' ) {
@@ -875,6 +894,10 @@ Describe "PSMetadataTests" -Tag @('PSMetadata', 'ScenarioTest') {
875
894
Get-Command List- Cupcakes - Module Generated.PSMetadataTest.Module | should not BeNullOrEmpty
876
895
}
877
896
}
897
+
898
+ AfterAll {
899
+ Remove-Module - Name Generated.PSMetadataTest.Module
900
+ }
878
901
}
879
902
880
903
Describe " Header scenario tests" - Tag @ (' Header' , ' ScenarioTest' ) {
@@ -1173,6 +1196,10 @@ Describe "Output type scenario tests" -Tag @('OutputType', 'ScenarioTest') {
1173
1196
$CommandInfo = Get-Command - Name Get-IotHubResourceEventHubConsumerGroup - Module $ModuleName
1174
1197
$CommandInfo.OutputType.Type.ToString () | Should BeExactly ' System.String'
1175
1198
}
1199
+
1200
+ AfterAll {
1201
+ Remove-Module - Name Generated.AzExt.OutputType.Module
1202
+ }
1176
1203
}
1177
1204
1178
1205
Describe ' New-PSSwaggerModule cmdlet parameter tests' - Tag @ (' CmdletParameterTest' , ' ScenarioTest' ) {
@@ -1331,6 +1358,10 @@ Describe 'ResourceId and InputObject parameter set tests' -Tag @('InputObject',
1331
1358
$CommandInfo.Parameters.Name.Aliases -contains ' AccountName' | Should Be $true
1332
1359
}
1333
1360
}
1361
+
1362
+ AfterAll {
1363
+ Remove-Module - Name Generated.Module.ArmResourceIdAndInputObject
1364
+ }
1334
1365
}
1335
1366
1336
1367
Describe ' Client-side filtering tests (using metadata file)' - Tag @ (' ClientSideFilter' , ' ScenarioTest' ) {
@@ -1384,6 +1415,7 @@ Describe 'Client-side filtering tests (using metadata file)' -Tag @('ClientSideF
1384
1415
1385
1416
AfterAll {
1386
1417
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
1418
+ Remove-Module - Name Generated.ClientSideFilter.Spec
1387
1419
}
1388
1420
}
1389
1421
@@ -1438,6 +1470,7 @@ Describe 'Client-side filtering tests (using spec)' -Tag @('ClientSideFilter', '
1438
1470
1439
1471
AfterAll {
1440
1472
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
1473
+ Remove-Module - Name Generated.ClientSideFilter.Metadata
1441
1474
}
1442
1475
}
1443
1476
@@ -1448,6 +1481,21 @@ Describe "Tests for local utility module" -Tag @('ScenarioTest', 'LocalUtilityCo
1448
1481
Initialize-Test - GeneratedModuleName " Generated.Basic.Module" - GeneratedModuleVersion " 0.0.2" - TestApiName " PsSwaggerTestBasic" `
1449
1482
- TestSpecFileName " PsSwaggerTestBasicSpec.json" - TestDataFileName " PsSwaggerTestBasicData.json" `
1450
1483
- PsSwaggerPath (Join-Path - Path $PSScriptRoot - ChildPath " .." | Join-Path - ChildPath " PSSwagger" ) - TestRootPath $PSScriptRoot - CopyUtilityModuleToOutput
1484
+ Initialize-Test - GeneratedModuleName " Generated.Basic.Module.Dupe1" - GeneratedModuleVersion " 0.0.2" - TestApiName " PsSwaggerTestBasic" `
1485
+ - TestSpecFileName " PsSwaggerTestBasicSpec.json" - TestDataFileName " PsSwaggerTestBasicData.json" `
1486
+ - PsSwaggerPath (Join-Path - Path $PSScriptRoot - ChildPath " .." | Join-Path - ChildPath " PSSwagger" ) - TestRootPath $PSScriptRoot - CopyUtilityModuleToOutput
1487
+ Initialize-Test - GeneratedModuleName " Generated.Basic.Module.Dupe2" - GeneratedModuleVersion " 0.0.2" - TestApiName " PsSwaggerTestBasic" `
1488
+ - TestSpecFileName " PsSwaggerTestBasicSpec.json" - TestDataFileName " PsSwaggerTestBasicData.json" `
1489
+ - PsSwaggerPath (Join-Path - Path $PSScriptRoot - ChildPath " .." | Join-Path - ChildPath " PSSwagger" ) - TestRootPath $PSScriptRoot - CopyUtilityModuleToOutput - DefaultCommandPrefix ' Not'
1490
+
1491
+ Copy-Item - Path (Join-Path - Path $PSScriptRoot - ChildPath " data" | Join-Path - ChildPath " PSSwaggerServiceCredentialsHelpers.psm1" ) `
1492
+ - Destination (Join-Path - Path $PSScriptRoot - ChildPath " Generated" | Join-Path - ChildPath " Generated.Basic.Module.Dupe1" | `
1493
+ Join-Path - ChildPath " 0.0.2" | Join-Path - ChildPath " PSSwaggerUtility" | Join-Path - ChildPath " PSSwaggerServiceCredentialsHelpers.psm1" ) `
1494
+ - Force
1495
+ Copy-Item - Path (Join-Path - Path $PSScriptRoot - ChildPath " data" | Join-Path - ChildPath " PSSwaggerServiceCredentialsHelpers.psm1" ) `
1496
+ - Destination (Join-Path - Path $PSScriptRoot - ChildPath " Generated" | Join-Path - ChildPath " Generated.Basic.Module.Dupe2" | `
1497
+ Join-Path - ChildPath " 0.0.2" | Join-Path - ChildPath " PSSwaggerUtility" | Join-Path - ChildPath " PSSwaggerServiceCredentialsHelpers.psm1" ) `
1498
+ - Force
1451
1499
1452
1500
$processes = Start-JsonServer - TestRootPath $PSScriptRoot - TestApiName " PsSwaggerTestBasic" - TestRoutesFileName " PsSwaggerTestBasicRoutes.json" - Verbose
1453
1501
if ($global :PSSwaggerTest_EnableTracing -and $script :EnableTracer ) {
@@ -1490,9 +1538,20 @@ Describe "Tests for local utility module" -Tag @('ScenarioTest', 'LocalUtilityCo
1490
1538
$result | should be $null
1491
1539
}
1492
1540
1541
+ It " Test running commands from two modules with local utility modules" {
1542
+ Import-Module (Join-Path - Path $PSScriptRoot - ChildPath " Generated" | Join-Path - ChildPath " Generated.Basic.Module.Dupe1" )
1543
+ Import-Module (Join-Path - Path $PSScriptRoot - ChildPath " Generated" | Join-Path - ChildPath " Generated.Basic.Module.Dupe2" )
1544
+ $results = Get-Cupcake - Flavor chocolate - ErrorVariable ev
1545
+ $ev | should be $null
1546
+ $results = Get-NotCupcake - Flavor chocolate - ErrorVariable ev
1547
+ $ev | should be $null
1548
+ }
1549
+
1493
1550
AfterAll {
1494
1551
# Stop node server
1495
1552
Stop-JsonServer - JsonServerProcess $processes.ServerProcess - NodeProcess $processes.NodeProcess
1553
+ Remove-Module - Name " Generated.Basic.Module.Dupe1" - ErrorAction Ignore
1554
+ Remove-Module - Name " Generated.Basic.Module.Dupe2" - ErrorAction Ignore
1496
1555
}
1497
1556
}
1498
1557
0 commit comments