Skip to content

Add CosmosDBTestRunner and replace TestController #18073

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

Merged
merged 1 commit into from
May 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 10 additions & 14 deletions src/CosmosDB/CosmosDB.Test/ScenarioTests/AccountTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,70 +17,66 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class AccountTests
public class AccountTests : CosmosDBTestRunner
{
private ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public AccountTests(Xunit.Abstractions.ITestOutputHelper output)
public AccountTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

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

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

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

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

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

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

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

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestCosmosDBLocations()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-CosmosDBLocations");
TestRunner.RunTestScript("Test-CosmosDBLocations");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,38 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class CassandraOperationsTests
public class CassandraOperationsTests : CosmosDBTestRunner
{
private ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public CassandraOperationsTests(Xunit.Abstractions.ITestOutputHelper output)
public CassandraOperationsTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

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

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

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

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestCassandraMigrateThroughputCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-CassandraMigrateThroughputCmdlets");
TestRunner.RunTestScript("Test-CassandraMigrateThroughputCmdlets");
}
}
}
59 changes: 59 additions & 0 deletions src/CosmosDB/CosmosDB.Test/ScenarioTests/CosmosDBTestRunner.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// ----------------------------------------------------------------------------------
//
// 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.CosmosDB.Test.ScenarioTests
{
public class CosmosDBTestRunner
{
protected readonly ITestRunner TestRunner;

protected CosmosDBTestRunner(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.KeyVault.psd1"),
helper.GetRMModulePath("Az.CosmosDB.psd1"),
helper.GetRMModulePath("Az.Network.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},
{"Microsoft.Compute", null}
}
)
.Build();
}
}
}
16 changes: 6 additions & 10 deletions src/CosmosDB/CosmosDB.Test/ScenarioTests/GremlinOperationsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,38 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class GremlinOperationsTests
public class GremlinOperationsTests : CosmosDBTestRunner
{
private ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public GremlinOperationsTests(Xunit.Abstractions.ITestOutputHelper output)
public GremlinOperationsTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

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

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

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

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestGremlinMigrateThroughputCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-GremlinMigrateThroughputCmdlets");
TestRunner.RunTestScript("Test-GremlinMigrateThroughputCmdlets");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,17 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class ManagedCassandraOperationsTests
public class ManagedCassandraOperationsTests : CosmosDBTestRunner
{
private ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public ManagedCassandraOperationsTests(Xunit.Abstractions.ITestOutputHelper output)
public ManagedCassandraOperationsTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

[Fact(Skip = "Cannot assign network contributor role to virtual networks. Test Fails.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestManagedCassandraClusterCreateUpdateGetCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-ManagedCassandraCreateUpdateGetCmdlets");
TestRunner.RunTestScript("Test-ManagedCassandraCreateUpdateGetCmdlets");
}
}
}
16 changes: 6 additions & 10 deletions src/CosmosDB/CosmosDB.Test/ScenarioTests/MongoOperationsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,38 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class MongoOperationsTests
public class MongoOperationsTests : CosmosDBTestRunner
{
private ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public MongoOperationsTests(Xunit.Abstractions.ITestOutputHelper output)
public MongoOperationsTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

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

[Fact(Skip = "The MAC signature found in the HTTP request is not the same as the computed signature.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestMongoOperationsCmdletsUsingInputObject()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-MongoOperationsCmdletsUsingInputObject");
TestRunner.RunTestScript("Test-MongoOperationsCmdletsUsingInputObject");
}

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

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestMongoMigrateThroughputCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-MongoMigrateThroughputCmdlets");
TestRunner.RunTestScript("Test-MongoMigrateThroughputCmdlets");
}
}
}
22 changes: 9 additions & 13 deletions src/CosmosDB/CosmosDB.Test/ScenarioTests/RestoreTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,63 +17,59 @@

namespace Microsoft.Azure.Commands.CosmosDB.Test.ScenarioTests.ScenarioTest
{
public class RestoreTests
public class RestoreTests : CosmosDBTestRunner
{
private readonly ServiceManagement.Common.Models.XunitTracingInterceptor _logger;

public RestoreTests(Xunit.Abstractions.ITestOutputHelper output)
public RestoreTests(Xunit.Abstractions.ITestOutputHelper output) : base(output)
{
_logger = new ServiceManagement.Common.Models.XunitTracingInterceptor(output);
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
}

[Fact(Skip = "Unrecognized time format for linux/mac.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRestoreAccountCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-RestoreAccountCmdlets");
TestRunner.RunTestScript("Test-RestoreAccountCmdlets");
}

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

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

[Fact(Skip = "Unrecognized time format for linux/mac.")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRestoreFailuresAccountCmdlets()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-RestoreFailuresAccountCmdlets");
TestRunner.RunTestScript("Test-RestoreFailuresAccountCmdlets");
}

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

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

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