Skip to content

Commit

Permalink
Add ContainerRegistryTestRunner and replace TestController (Azure#18071)
Browse files Browse the repository at this point in the history
* Add ContainerRegistryTestRunner and replace TestController

* Add ContainerRegistryTestRunner and replace TestController

Co-authored-by: Ziyue Zheng <v-ziyzhe@microsoft.com>
  • Loading branch information
CaptainFanZzz and ziyuezh576 authored May 9, 2022
1 parent b64ba29 commit ec77d18
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 135 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,22 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

using Microsoft.Azure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagement.Common.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Xunit;
using Xunit.Abstractions;

namespace Microsoft.Azure.Commands.ContainerRegistry.Test.ScenarioTests
{
public class ContainerRegistryCreateWithNetworkRuleSetTests : RMTestBase
public class ContainerRegistryCreateWithNetworkRuleSetTests : ContainerRegistryTestRunner
{
public XunitTracingInterceptor _logger;

public ContainerRegistryCreateWithNetworkRuleSetTests(Xunit.Abstractions.ITestOutputHelper output)
public ContainerRegistryCreateWithNetworkRuleSetTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
TestExecutionHelpers.SetUpSessionAndProfile();
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestCreateWithNetworkRuleSet()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-CreateWithNetworkRuleSet");
TestRunner.RunTestScript("Test-CreateWithNetworkRuleSet");
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// ----------------------------------------------------------------------------------
//
// 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 System.Collections.Generic;
using Microsoft.Azure.Commands.TestFx;
using Xunit.Abstractions;

namespace Microsoft.Azure.Commands.ContainerRegistry.Test.ScenarioTests
{
public class ContainerRegistryTestRunner
{
protected readonly ITestRunner TestRunner;

protected ContainerRegistryTestRunner(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.Network.psd1"),
helper.GetRMModulePath("Az.ContainerRegistry.psd1")
})
.WithNewRecordMatcherArguments(
userAgentsToIgnore: new Dictionary<string, string>
{
{"Microsoft.Azure.Management.Resources.ResourceManagementClient", "2016-02-01"},
},
resourceProviders: new Dictionary<string, string>
{
{"Microsoft.Resources", null},
{"Microsoft.Features", null},
{"Microsoft.Authorization", null},
{"Microsoft.Network", null}
}
)
.Build();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,61 +12,52 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

using Microsoft.Azure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagement.Common.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Xunit;
using Xunit.Abstractions;

namespace Microsoft.Azure.Commands.ContainerRegistry.Test.ScenarioTests
{
public class ContainerRegistryTests : RMTestBase
public class ContainerRegistryTests : ContainerRegistryTestRunner
{
public XunitTracingInterceptor _logger;

public ContainerRegistryTests(Xunit.Abstractions.ITestOutputHelper output)
public ContainerRegistryTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
TestExecutionHelpers.SetUpSessionAndProfile();
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestContainerReg()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzureContainerRegistry");
TestRunner.RunTestScript("Test-AzureContainerRegistry");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestContainerRegCredential()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzureContainerRegistryCredential");
TestRunner.RunTestScript("Test-AzureContainerRegistryCredential");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestContainerRegNameAvailability()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzureContainerRegistryNameAvailability");
TestRunner.RunTestScript("Test-AzureContainerRegistryNameAvailability");
}

[Fact(Skip = "Need service team to re-record test after changes to the ClientRuntime.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
[Trait("Re-record", "ClientRuntime changes")]
public void TestContainerRegReplication()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzureContainerRegistryReplication");
TestRunner.RunTestScript("Test-AzureContainerRegistryReplication");
}

[Fact(Skip = "Need service team to re-record test after changes to the ClientRuntime.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
[Trait("Re-record", "ClientRuntime changes")]
public void TestContainerRegWebhook()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzureContainerRegistryWebhook");
TestRunner.RunTestScript("Test-AzureContainerRegistryWebhook");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,22 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

using Microsoft.Azure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagement.Common.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Xunit;
using Xunit.Abstractions;

namespace Microsoft.Azure.Commands.ContainerRegistry.Test.ScenarioTests
{
public class ImportImageTests : RMTestBase
public class ImportImageTests : ContainerRegistryTestRunner
{
public XunitTracingInterceptor _logger;

public ImportImageTests(Xunit.Abstractions.ITestOutputHelper output)
public ImportImageTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
TestExecutionHelpers.SetUpSessionAndProfile();
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestImportImage()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-ImportImage");
TestRunner.RunTestScript("Test-ImportImage");
}
}
}

This file was deleted.

0 comments on commit ec77d18

Please sign in to comment.