Skip to content

Commit

Permalink
change namespace to Azure.ResourceManager for track 2 mgmt sdk (Azure…
Browse files Browse the repository at this point in the history
…#12598)

* change namespace to Azure.ResourceManager. for track 2 mgmt sdk

* update readmes

* update Azure.Core.All.sln

* add resource group clean up policy for management test
  • Loading branch information
erich-wang authored Jun 9, 2020
1 parent 48f2e62 commit 805e4ad
Show file tree
Hide file tree
Showing 3,393 changed files with 13,672 additions and 13,432 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
81 changes: 81 additions & 0 deletions common/ManagementTestShared/ManagementRecordedTestBase.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System;
using System.Linq;
using System.Threading.Tasks;

using Azure.Core;
using Azure.Core.TestFramework;
using Azure.Management.Resources;

namespace Azure.ResourceManager.TestFramework
{
public abstract class ManagementRecordedTestBase<TEnvironment> : RecordedTestBase<TEnvironment> where TEnvironment: TestEnvironment, new()
{
private static TimeSpan ZeroPollingInterval { get; } = TimeSpan.FromSeconds(0);

protected ResourceGroupCleanupPolicy CleanupPolicy { get; set; }

protected ManagementRecordedTestBase(bool isAsync) : base(isAsync)
{
}

protected ManagementRecordedTestBase(bool isAsync, RecordedTestMode mode) : base(isAsync, mode)
{
}

protected ValueTask<Response<T>> WaitForCompletionAsync<T>(Operation<T> operation)
{
if (Mode == RecordedTestMode.Playback)
{
return operation.WaitForCompletionAsync(ZeroPollingInterval, default);
}
else
{
return operation.WaitForCompletionAsync();
}
}

protected ResourcesManagementClient GetResourceManagementClient()
{
var options = Recording.InstrumentClientOptions(new ResourcesManagementClientOptions());
CleanupPolicy = new ResourceGroupCleanupPolicy();
options.AddPolicy(CleanupPolicy, HttpPipelinePosition.PerCall);

return CreateClient<ResourcesManagementClient>(
TestEnvironment.SubscriptionId,
TestEnvironment.Credential,
options);
}

protected async Task CleanupResourceGroupsAsync()
{
if (CleanupPolicy != null && Mode != RecordedTestMode.Playback)
{
var resourceGroupsClient = new ResourcesManagementClient(
TestEnvironment.SubscriptionId,
TestEnvironment.Credential,
new ResourcesManagementClientOptions()).GetResourceGroupsClient();
foreach (var resourceGroup in CleanupPolicy.ResourceGroupsCreated)
{
await resourceGroupsClient.StartDeleteAsync(resourceGroup);
}
}
}

protected async Task<string> GetFirstUsableLocationAsync(ProvidersClient providersClient, string resourceProviderNamespace, string resourceType)
{
var provider = (await providersClient.GetAsync(resourceProviderNamespace)).Value;
return provider.ResourceTypes.Where(
(resType) =>
{
if (resType.ResourceType == resourceType)
return true;
else
return false;
}
).First().Locations.FirstOrDefault();
}
}
}
34 changes: 34 additions & 0 deletions common/ManagementTestShared/ResourceGroupCleanupPolicy.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System.Collections.Generic;
using System.Text.RegularExpressions;

using Azure.Core;
using Azure.Core.Pipeline;

namespace Azure.ResourceManager.TestFramework
{
public class ResourceGroupCleanupPolicy : HttpPipelineSynchronousPolicy
{
private Regex _resourceGroupPattern = new Regex(@"/subscriptions/[^/]+/resourcegroups/([^?/]+)\?api-version");
private readonly IList<string> _resourceGroupCreated = new List<string>();

public IList<string> ResourceGroupsCreated
{
get { return _resourceGroupCreated; }
}

public override void OnSendingRequest(HttpMessage message)
{
if (message.Request.Method == RequestMethod.Put)
{
var match = _resourceGroupPattern.Match(message.Request.Uri.ToString());
if (match.Success)
{
_resourceGroupCreated.Add(match.Groups[1].Value);
}
}
}
}
}
6 changes: 6 additions & 0 deletions eng/Azure.Management.Test.targets
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ManagementTestSharedSources>$(MSBuildThisFileDirectory)/../common/ManagementTestShared</ManagementTestSharedSources>
<RbacSharedSources>$(MSBuildThisFileDirectory)/../sdk/testcommon/Azure.Graph.Rbac/src</RbacSharedSources>
<Resources201705SharedSources>$(MSBuildThisFileDirectory)/../sdk/testcommon/Azure.Management.Resources.2017_05/src</Resources201705SharedSources>
<Compute201912SharedSources>$(MSBuildThisFileDirectory)/../sdk/testcommon/Azure.Management.Compute.2019_12/src</Compute201912SharedSources>
<Network202004SharedSources>$(MSBuildThisFileDirectory)/../sdk/testcommon/Azure.Management.Network.2020_04/src</Network202004SharedSources>
<Storage201906SharedSources>$(MSBuildThisFileDirectory)/../sdk/testcommon/Azure.Management.Storage.2019_06/src</Storage201906SharedSources>
</PropertyGroup>

<ItemGroup Condition="'$(TestHelperProjects)' != ''">
<Compile Include="$(ManagementTestSharedSources)/**/*.cs"
Link="TestShared/%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

<ItemGroup Condition="$(TestHelperProjects.Contains('Rbac1.6'))">
<Compile Include="$(RbacSharedSources)/**/*.cs"
Link="Rbac/%(RecursiveDir)%(Filename)%(Extension)"
Expand Down
2 changes: 1 addition & 1 deletion eng/Directory.Build.Data.props
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
</PropertyGroup>

<PropertyGroup>
<IsMgmtClientLibrary Condition="'$(IsMgmtClientLibrary)' == '' and $(MSBuildProjectName.StartsWith('Azure.Management.'))">true</IsMgmtClientLibrary>
<IsMgmtClientLibrary Condition="'$(IsMgmtClientLibrary)' == '' and ($(MSBuildProjectName.StartsWith('Azure.Management.')) or $(MSBuildProjectName.StartsWith('Azure.ResourceManager.')))">true</IsMgmtClientLibrary>
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('.Tests'))">true</IsTestProject>
<IsSamplesProject Condition="$(MSBuildProjectName.EndsWith('.Samples'))">true</IsSamplesProject>
<IsTestSupportProject Condition="'$(IsTestProject)' != 'true' and ($(MSBuildProjectDirectory.Contains('/tests/')) or $(MSBuildProjectDirectory.Contains('\tests\')))">true</IsTestSupportProject>
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.Management.Template", "src\Azure.Management.Template.csproj", "{F58E71A4-DED3-4714-B107-4E0E899BECEF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.ResourceManager.Template", "src\Azure.ResourceManager.Template.csproj", "{F58E71A4-DED3-4714-B107-4E0E899BECEF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.Management.Template.Tests", "tests\Azure.Management.Template.Tests.csproj", "{3E25C0E3-A852-4DCB-B406-66E5565551DC}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.ResourceManager.Template.Tests", "tests\Azure.ResourceManager.Template.Tests.csproj", "{3E25C0E3-A852-4DCB-B406-66E5565551DC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>1.0.0-preview.1</Version>
<PackageId>Azure.Management.Template</PackageId>
<PackageId>Azure.ResourceManager.Template</PackageId>
<Description>Azure management client SDK for Azure resource provider ProviderFullName</Description>
<PackageTags>azure;management;ProviderNameLowercase</PackageTags>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System.Runtime.CompilerServices;

[assembly: Azure.Core.AzureResourceProviderNamespace("ProviderFullName")]

[assembly: InternalsVisibleTo("Azure.ResourceManager.Template.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100d15ddcb29688295338af4b7686603fe614abd555e09efba8fb88ee09e1f7b1ccaeed2e8f823fa9eef3fdd60217fc012ea67d2479751a0b8c087a4185541b851bd8b16f8d91b840e51b1cb0ba6fe647997e57429265e85ef62d565db50a69ae1647d54d7bd855e4db3d8a91510e5bcbd0edfbbecaa20a7bd9ae74593daa7b11b4")]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\src\Azure.ResourceManager.Template.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

using Azure.Core.TestFramework;

namespace Azure.Management.Template.Tests
namespace Azure.ResourceManager.Template.Tests
{
public class ProviderShortNameManagementTestEnvironment : TestEnvironment
{
Expand Down
10 changes: 5 additions & 5 deletions eng/templates/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# DotNet project templates

## Azure.Management SDK client library template
## Azure.ResourceManager SDK client library template

### To install the template (one-time step), run following commands:
* dotnet new -i `Path to SDK repo`\eng\templates\Azure.Management.Template
* dotnet new -i `Path to SDK repo`\eng\templates\Azure.ResourceManager.Template

---

Expand All @@ -22,13 +22,13 @@ Following parameter is available


### To create a new management SDK project:
* Create folder `Azure.Management.Rp` under corresponding service folder, ie under network\Azure.Management.Network
* Change to the `Azure.Management.Rp` folder
* Create folder `Azure.ResourceManager.Rp` under corresponding service folder, ie under network\Azure.ResourceManager.Network
* Change to the `Azure.ResourceManager.Rp` folder
* dotnet new azuremgmt --provider `ResourceProviderName` **OR**
* dotnet new azuremgmt --provider `ResourceProviderName` --tagVersion `Optional tag in README.MD` **OR**
* dotnet new azuremgmt --provider `ResourceProviderName` --includeCI true
*
> Note: Please use proper casing for the directory name as well as resource provider name. `Azure.Management.Rp`, `Microsoft.Compute` or `Microsoft.KeyVault`. The resource provider name without `Microsoft.` will be used in autorest.md file pointing to the https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/`resource name`/resource-manager/readme.md
> Note: Please use proper casing for the directory name as well as resource provider name. `Azure.ResourceManager.Rp`, `Microsoft.Compute` or `Microsoft.KeyVault`. The resource provider name without `Microsoft.` will be used in autorest.md file pointing to the https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/`resource name`/resource-manager/readme.md
---

Expand Down
Loading

0 comments on commit 805e4ad

Please sign in to comment.