diff --git a/src/Batch/Batch.Test/ScenarioTests/BatchAccountTests.cs b/src/Batch/Batch.Test/ScenarioTests/BatchAccountTests.cs index 1527cad4562e..6b2a27e0ef13 100644 --- a/src/Batch/Batch.Test/ScenarioTests/BatchAccountTests.cs +++ b/src/Batch/Batch.Test/ScenarioTests/BatchAccountTests.cs @@ -12,48 +12,43 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.ServiceManagement.Common.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; namespace Microsoft.Azure.Commands.Batch.Test.ScenarioTests { - public class BatchAccountTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase + public class BatchAccountTests : BatchTestRunner { - public XunitTracingInterceptor _logger; - - public BatchAccountTests(Xunit.Abstractions.ITestOutputHelper output) + public BatchAccountTests(Xunit.Abstractions.ITestOutputHelper output) : base(output) { - _logger = new XunitTracingInterceptor(output); - XunitTracingInterceptor.AddToContext(_logger); } [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestBatchAccountEndToEnd() { - BatchController.NewInstance.RunPsTest(_logger, "Test-BatchAccountEndToEnd"); + TestRunner.RunTestScript("Test-BatchAccountEndToEnd"); } [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestGetBatchSupportedImages() { - BatchController.NewInstance.RunPsTest(_logger, "Test-GetBatchSupportedImage"); + TestRunner.RunTestScript("Test-GetBatchSupportedImage"); } [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestCreateNewBatchAccountWithNoPublicIp() { - BatchController.NewInstance.RunPsTest(_logger, "Test-CreateNewBatchAccountWithNoPublicIp"); + TestRunner.RunTestScript("Test-CreateNewBatchAccountWithNoPublicIp"); } [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestCreateNewBatchAccountWithSystemIdentity() { - BatchController.NewInstance.RunPsTest(_logger, "Test-CreateNewBatchAccountWithSystemIdentity"); + TestRunner.RunTestScript("Test-CreateNewBatchAccountWithSystemIdentity"); } } } diff --git a/src/Batch/Batch.Test/ScenarioTests/BatchTestRunner.cs b/src/Batch/Batch.Test/ScenarioTests/BatchTestRunner.cs new file mode 100644 index 000000000000..b0fa65b7c0b5 --- /dev/null +++ b/src/Batch/Batch.Test/ScenarioTests/BatchTestRunner.cs @@ -0,0 +1,65 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure.Internal.Common; +using Microsoft.Azure.Management.Batch; +using Microsoft.Azure.Management.Internal.Resources; +using Microsoft.Azure.Management.Network; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using System; +using System.Collections.Generic; +using Microsoft.Azure.Commands.TestFx; +using Xunit.Abstractions; + +namespace Microsoft.Azure.Commands.Batch.Test.ScenarioTests +{ + // Needs more initialize parameters after setup HttpMockServer. + public class BatchTestRunner + { + protected readonly ITestRunner TestRunner; + + protected BatchTestRunner(ITestOutputHelper output) + { + TestRunner = TestManager.CreateInstance(output) + .WithNewPsScriptFilename($"{GetType().Name}.ps1") + .WithProjectSubfolderForTests("ScenarioTests") + .WithCommonPsScripts(new[] + { + @"Common.ps1", + @"../AzureRM.Resources.ps1", + }) + .WithNewRmModules(helper => new[] + { + helper.RMProfileModule, + helper.GetRMModulePath("Az.Batch.psd1"), + helper.GetRMModulePath("Az.Network.psd1") + }) + .WithNewRecordMatcherArguments( + userAgentsToIgnore: new Dictionary + { + {"Microsoft.Azure.Management.Resources.ResourceManagementClient", "2016-02-01"}, + }, + resourceProviders: new Dictionary + { + {"Microsoft.Resources", null}, + {"Microsoft.Features", null}, + {"Microsoft.Network", null}, + {"Microsoft.Authorization", null} + } + ) + .Build(); + } + } +} diff --git a/src/Batch/Batch.Test/ScenarioTests/LocationTests.cs b/src/Batch/Batch.Test/ScenarioTests/LocationTests.cs index 61b2736c3b81..d2176fdc5a3f 100644 --- a/src/Batch/Batch.Test/ScenarioTests/LocationTests.cs +++ b/src/Batch/Batch.Test/ScenarioTests/LocationTests.cs @@ -12,27 +12,22 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.ServiceManagement.Common.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; namespace Microsoft.Azure.Commands.Batch.Test.ScenarioTests { - public class LocationTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase + public class LocationTests : BatchTestRunner { - public XunitTracingInterceptor _logger; - - public LocationTests(Xunit.Abstractions.ITestOutputHelper output) + public LocationTests(Xunit.Abstractions.ITestOutputHelper output) : base(output) { - _logger = new XunitTracingInterceptor(output); - XunitTracingInterceptor.AddToContext(_logger); } [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestGetLocationQuotas() { - BatchController.NewInstance.RunPsTest(_logger, "Test-GetLocationQuotas"); + TestRunner.RunTestScript("Test-GetLocationQuotas"); } } }