Skip to content

Commit b994e6b

Browse files
committed
Merge pull request #971 from jianghaolu/subname
[fixes #103937270] Add -SubscriptionName to Get-AzureRMSubscription
2 parents 818c7dd + 443c1f9 commit b994e6b

File tree

6 files changed

+180
-109
lines changed

6 files changed

+180
-109
lines changed

src/ResourceManager/Common/Commands.ResourceManager.Common/RMProfileClient.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,19 @@ public bool TryGetSubscription(string tenantId, string subscriptionId, out Azure
151151
tenantId, subscriptionId, out subscription, out tenant);
152152
}
153153

154+
public bool TryGetSubscriptionByName(string tenantId, string subscriptionName, out AzureSubscription subscription)
155+
{
156+
if (string.IsNullOrWhiteSpace(tenantId))
157+
{
158+
throw new ArgumentNullException("Please provide a valid tenant Id.");
159+
}
160+
161+
IEnumerable<AzureSubscription> subscriptionList = ListSubscriptions(tenantId);
162+
subscription = subscriptionList.FirstOrDefault(s => s.Name.Equals(subscriptionName, StringComparison.OrdinalIgnoreCase));
163+
164+
return subscription != null;
165+
}
166+
154167
public AzureEnvironment AddOrSetEnvironment(AzureEnvironment environment)
155168
{
156169
if (environment == null)

src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs

Lines changed: 19 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,7 @@ public EnvironmentSetupHelper()
6666
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => true;
6767

6868
// Set RunningMocked
69-
if (HttpMockServer.GetCurrentMode() == HttpRecorderMode.Playback)
70-
{
71-
TestMockSupport.RunningMocked = true;
72-
}
73-
else
74-
{
75-
TestMockSupport.RunningMocked = false;
76-
}
69+
TestMockSupport.RunningMocked = HttpMockServer.GetCurrentMode() == HttpRecorderMode.Playback;
7770
}
7871

7972
/// <summary>
@@ -103,32 +96,29 @@ public void SetupEnvironment(AzureModule mode)
10396

10497
private void SetupAzureEnvironmentFromEnvironmentVariables(AzureModule mode)
10598
{
106-
TestEnvironment rdfeEnvironment = new RDFETestEnvironmentFactory().GetTestEnvironment();
107-
TestEnvironment csmEnvironment = new CSMTestEnvironmentFactory().GetTestEnvironment();
108-
TestEnvironment currentEnvironment = (mode == AzureModule.AzureResourceManager ? csmEnvironment : rdfeEnvironment);
99+
TestEnvironment currentEnvironment = null;
100+
if (mode == AzureModule.AzureResourceManager)
101+
{
102+
currentEnvironment = new CSMTestEnvironmentFactory().GetTestEnvironment();
103+
}
104+
else
105+
{
106+
currentEnvironment = new RDFETestEnvironmentFactory().GetTestEnvironment();
107+
}
109108

110109
if (currentEnvironment.UserName == null)
111110
{
112111
currentEnvironment.UserName = "[email protected]";
113112
}
114113

115-
SetAuthenticationFactory(mode, rdfeEnvironment, csmEnvironment);
114+
SetAuthenticationFactory(mode, currentEnvironment);
116115

117116
AzureEnvironment environment = new AzureEnvironment { Name = testEnvironmentName };
118117

119118
Debug.Assert(currentEnvironment != null);
120119
environment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory] = currentEnvironment.Endpoints.AADAuthUri.AbsoluteUri;
121120
environment.Endpoints[AzureEnvironment.Endpoint.Gallery] = currentEnvironment.Endpoints.GalleryUri.AbsoluteUri;
122-
123-
if (csmEnvironment != null)
124-
{
125-
environment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = csmEnvironment.BaseUri.AbsoluteUri;
126-
}
127-
128-
if (rdfeEnvironment != null)
129-
{
130-
environment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = rdfeEnvironment.BaseUri.AbsoluteUri;
131-
}
121+
environment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = currentEnvironment.BaseUri.AbsoluteUri;
132122

133123
if (!ProfileClient.Profile.Environments.ContainsKey(testEnvironmentName))
134124
{
@@ -169,44 +159,29 @@ private void SetupAzureEnvironmentFromEnvironmentVariables(AzureModule mode)
169159
}
170160
}
171161

172-
private void SetAuthenticationFactory(AzureModule mode, TestEnvironment rdfeEnvironment, TestEnvironment csmEnvironment)
162+
private void SetAuthenticationFactory(AzureModule mode, TestEnvironment environment)
173163
{
174164
string jwtToken = null;
175165
X509Certificate2 certificate = null;
176-
TestEnvironment currentEnvironment = (mode == AzureModule.AzureResourceManager ? csmEnvironment : rdfeEnvironment);
177166

178-
if (mode == AzureModule.AzureServiceManagement)
167+
if (environment.Credentials is TokenCloudCredentials)
179168
{
180-
if (rdfeEnvironment.Credentials is TokenCloudCredentials)
181-
{
182-
jwtToken = ((TokenCloudCredentials)rdfeEnvironment.Credentials).Token;
183-
}
184-
if (rdfeEnvironment.Credentials is CertificateCloudCredentials)
185-
{
186-
certificate = ((CertificateCloudCredentials)rdfeEnvironment.Credentials).ManagementCertificate;
187-
}
169+
jwtToken = ((TokenCloudCredentials)environment.Credentials).Token;
188170
}
189-
else
171+
if (environment.Credentials is CertificateCloudCredentials)
190172
{
191-
if (csmEnvironment.Credentials is TokenCloudCredentials)
192-
{
193-
jwtToken = ((TokenCloudCredentials)csmEnvironment.Credentials).Token;
194-
}
195-
if (csmEnvironment.Credentials is CertificateCloudCredentials)
196-
{
197-
certificate = ((CertificateCloudCredentials)csmEnvironment.Credentials).ManagementCertificate;
198-
}
173+
certificate = ((CertificateCloudCredentials)environment.Credentials).ManagementCertificate;
199174
}
200175

201176

202177
if (jwtToken != null)
203178
{
204-
AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(currentEnvironment.UserName,
179+
AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(environment.UserName,
205180
jwtToken);
206181
}
207182
else if (certificate != null)
208183
{
209-
AzureSession.AuthenticationFactory = new MockCertificateAuthenticationFactory(currentEnvironment.UserName,
184+
AzureSession.AuthenticationFactory = new MockCertificateAuthenticationFactory(environment.UserName,
210185
certificate);
211186
}
212187
}

0 commit comments

Comments
 (0)