Skip to content

Commit

Permalink
Add IotHubTestRunner to replace IotHubController (#18200)
Browse files Browse the repository at this point in the history
  • Loading branch information
ziyuezh576 authored May 19, 2022
1 parent 7d8e998 commit 3938a0d
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 212 deletions.
157 changes: 0 additions & 157 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubController.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,23 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

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.IotHub.Test.ScenarioTests
{
public class IotHubDPConfigurationTests : RMTestBase
public class IotHubDPConfigurationTests : IotHubTestRunner
{
public XunitTracingInterceptor _logger;

public IotHubDPConfigurationTests(ITestOutputHelper output)
public IotHubDPConfigurationTests(ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
}

[Fact]
[Trait(Category.AcceptanceType, Category.LiveOnly)]
public void TestAzureIotHubConfigurationLifecycle()
{
IotHubController.NewInstance.RunPsTest(_logger, "Test-AzureRmIotHubConfigurationLifecycle");
TestRunner.RunTestScript("Test-AzureRmIotHubConfigurationLifecycle");
}
}
}
12 changes: 3 additions & 9 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubDPDeviceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,23 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

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.IotHub.Test.ScenarioTests
{
public class IotHubDPDeviceTests : RMTestBase
public class IotHubDPDeviceTests : IotHubTestRunner
{
public XunitTracingInterceptor _logger;

public IotHubDPDeviceTests(ITestOutputHelper output)
public IotHubDPDeviceTests(ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
}

[Fact]
[Trait(Category.AcceptanceType, Category.LiveOnly)]
public void TestAzureIotHubDeviceLifecycle()
{
IotHubController.NewInstance.RunPsTest(_logger, "Test-AzureRmIotHubDeviceLifecycle");
TestRunner.RunTestScript("Test-AzureRmIotHubDeviceLifecycle");
}
}
}
12 changes: 3 additions & 9 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubDPModuleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,23 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

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.IotHub.Test.ScenarioTests
{
public class IotHubDPModuleTests : RMTestBase
public class IotHubDPModuleTests : IotHubTestRunner
{
public XunitTracingInterceptor _logger;

public IotHubDPModuleTests(ITestOutputHelper output)
public IotHubDPModuleTests(ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
}

[Fact]
[Trait(Category.AcceptanceType, Category.LiveOnly)]
public void TestAzureIotHubModuleLifecycle()
{
IotHubController.NewInstance.RunPsTest(_logger, "Test-AzureRmIotHubModuleLifecycle");
TestRunner.RunTestScript("Test-AzureRmIotHubModuleLifecycle");
}
}
}
12 changes: 3 additions & 9 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubDPTracingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,23 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

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.IotHub.Test.ScenarioTests
{
public class IotHubDPTracingTests : RMTestBase
public class IotHubDPTracingTests : IotHubTestRunner
{
public XunitTracingInterceptor _logger;

public IotHubDPTracingTests(ITestOutputHelper output)
public IotHubDPTracingTests(ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
}

[Fact]
[Trait(Category.AcceptanceType, Category.LiveOnly)]
public void TestAzureIotHubTracing()
{
IotHubController.NewInstance.RunPsTest(_logger, "Test-AzureRmIotHubTracing");
TestRunner.RunTestScript("Test-AzureRmIotHubTracing");
}
}
}
12 changes: 3 additions & 9 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubRoutingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,24 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

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.IotHub.Test.ScenarioTests
{
public class IotHubRoutingTests : RMTestBase
public class IotHubRoutingTests : IotHubTestRunner
{
public XunitTracingInterceptor _logger;

public IotHubRoutingTests(ITestOutputHelper output)
public IotHubRoutingTests(ITestOutputHelper output) : base(output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
[Trait("Re-record", "ClientRuntime changes")]
public void TestAzureIotHubRoutingLifeCycle()
{
IotHubController.NewInstance.RunPsTest(_logger, "Test-AzureRmIotHubRoutingLifecycle");
TestRunner.RunTestScript("Test-AzureRmIotHubRoutingLifecycle");
}
}
}
60 changes: 60 additions & 0 deletions src/IotHub/IotHub.Test/ScenarioTests/IotHubTestRunner.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// ----------------------------------------------------------------------------------
//
// 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.IotHub.Test.ScenarioTests
{
public class IotHubTestRunner
{
protected readonly ITestRunner TestRunner;

protected IotHubTestRunner(ITestOutputHelper output)
{
TestRunner = TestManager.CreateInstance(output)
.WithNewPsScriptFilename($"{GetType().Name}.ps1")
.WithProjectSubfolderForTests("ScenarioTests")
.WithCommonPsScripts(new[]
{
@"Assert.ps1",
@"Common.ps1",
@"../AzureRM.Resources.ps1"
})
.WithNewRmModules(helper => new[]
{
helper.RMProfileModule,
helper.GetRMModulePath("Az.IotHub.psd1"),
helper.GetRMModulePath("Az.EventHub.psd1"),
helper.GetRMModulePath("Az.Storage.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.Storage", null },
{"Microsoft.Authorization", null},
{"Microsoft.EventHub", null}
}
)
.Build();
}
}
}
Loading

0 comments on commit 3938a0d

Please sign in to comment.