public static GetSubscriptionNameFromId ( string id ) : string | ||
id | string | |
return | string |
public void SubscriptionNameNotInFirstTenant() { var tenants = new List <string> { DefaultTenant.ToString(), Guid.NewGuid().ToString() }; var subscriptionInSecondTenant = Guid.NewGuid().ToString(); var firstList = new List <string> { DefaultSubscription.ToString() }; var secondList = new List <string> { Guid.NewGuid().ToString(), subscriptionInSecondTenant }; var client = SetupTestEnvironment(tenants, firstList, secondList); ((MockTokenAuthenticationFactory)AzureSession.Instance.AuthenticationFactory).TokenProvider = (account, environment, tenant) => new MockAccessToken { UserId = "*****@*****.**", LoginType = LoginType.OrgId, AccessToken = "bbb", TenantId = DefaultTenant.ToString() }; var listAsyncResponses = new Queue <Func <AzureOperationResponse <IPage <Subscription> > > >(); listAsyncResponses.Enqueue(() => { var sub1 = new Subscription( id: DefaultSubscription.ToString(), subscriptionId: DefaultSubscription.ToString(), tenantId: null, displayName: DefaultSubscriptionName, state: SubscriptionState.Enabled, subscriptionPolicies: null, authorizationSource: null); var sub2 = new Subscription( id: subscriptionInSecondTenant, subscriptionId: subscriptionInSecondTenant, tenantId: null, displayName: MockSubscriptionClientFactory.GetSubscriptionNameFromId(subscriptionInSecondTenant), state: SubscriptionState.Enabled, subscriptionPolicies: null, authorizationSource: null); return(new AzureOperationResponse <IPage <Subscription> > { Body = new MockPage <Subscription>(new List <Subscription> { sub1, sub2 }) }); }); MockSubscriptionClientFactory.SetListAsyncResponses(listAsyncResponses); var azureRmProfile = client.Login( Context.Account, Context.Environment, null, null, MockSubscriptionClientFactory.GetSubscriptionNameFromId(subscriptionInSecondTenant), null); }
public void SingleTenantAndSubscriptionSucceeds() { var tenants = new List <string> { DefaultTenant.ToString() }; var firstList = new List <string> { DefaultSubscription.ToString() }; var secondList = firstList; var thirdList = firstList; var fourthList = firstList; var client = SetupTestEnvironment(tenants, firstList, secondList, thirdList, fourthList, firstList, firstList); var subResults = new List <IAzureSubscription>(client.ListSubscriptions()); Assert.Equal(2, subResults.Count); var tenantResults = client.ListTenants(); Assert.Equal(1, tenantResults.Count()); tenantResults = client.ListTenants(DefaultTenant.ToString()); Assert.Equal(1, tenantResults.Count()); IAzureSubscription subValue; Assert.True(client.TryGetSubscriptionById(DefaultTenant.ToString(), DefaultSubscription.ToString(), out subValue)); Assert.Equal(DefaultSubscription.ToString(), subValue.Id.ToString()); Assert.True(client.TryGetSubscriptionByName(DefaultTenant.ToString(), MockSubscriptionClientFactory.GetSubscriptionNameFromId(DefaultSubscription.ToString()), out subValue)); Assert.Equal(DefaultSubscription.ToString(), subValue.Id.ToString()); }
public void SubscriptionNameNotInFirstTenant() { var tenants = new List <string> { DefaultTenant.ToString(), Guid.NewGuid().ToString() }; var subscriptionInSecondTenant = Guid.NewGuid().ToString(); var firstList = new List <string> { DefaultSubscription.ToString() }; var secondList = new List <string> { Guid.NewGuid().ToString(), subscriptionInSecondTenant }; var client = SetupTestEnvironment(tenants, firstList, secondList); ((MockTokenAuthenticationFactory)AzureSession.AuthenticationFactory).TokenProvider = (account, environment, tenant) => new MockAccessToken { UserId = "*****@*****.**", LoginType = LoginType.OrgId, AccessToken = "bbb", TenantId = DefaultTenant.ToString() }; var listAsyncResponses = new Queue <Func <SubscriptionListResult> >(); listAsyncResponses.Enqueue(() => { var sub1 = new Subscription { Id = DefaultSubscription.ToString(), SubscriptionId = DefaultSubscription.ToString(), DisplayName = DefaultSubscriptionName, State = "enabled" }; var sub2 = new Subscription { Id = subscriptionInSecondTenant, SubscriptionId = subscriptionInSecondTenant, DisplayName = MockSubscriptionClientFactory.GetSubscriptionNameFromId(subscriptionInSecondTenant), State = "enabled" }; return(new SubscriptionListResult { Subscriptions = new List <Subscription> { sub1, sub2 } }); }); MockSubscriptionClientFactory.SetListAsyncResponses(listAsyncResponses); var azureRmProfile = client.Login( Context.Account, Context.Environment, null, null, MockSubscriptionClientFactory.GetSubscriptionNameFromId(subscriptionInSecondTenant), null); }
public void GetAzureRmSubscriptionPaginatedResult() { var tenants = new List <string> { Guid.NewGuid().ToString(), DefaultTenant.ToString() }; var secondsubscriptionInTheFirstTenant = Guid.NewGuid().ToString(); var firstList = new List <string> { DefaultSubscription.ToString(), secondsubscriptionInTheFirstTenant }; var secondList = new List <string> { Guid.NewGuid().ToString() }; var thirdList = new List <string> { DefaultSubscription.ToString(), secondsubscriptionInTheFirstTenant }; var fourthList = new List <string> { DefaultSubscription.ToString(), secondsubscriptionInTheFirstTenant }; var client = SetupTestEnvironment(tenants, firstList, secondList, thirdList, fourthList); var dataStore = new MemoryDataStore(); AzureSession.Instance.DataStore = dataStore; var commandRuntimeMock = new MockCommandRuntime(); AzureSession.Instance.AuthenticationFactory = new MockTokenAuthenticationFactory(); var profile = new AzureRmProfile(); profile.EnvironmentTable.Add("foo", new AzureEnvironment(AzureEnvironment.PublicEnvironments.Values.FirstOrDefault())); profile.DefaultContext = Context; var cmdlt = new GetAzureRMSubscriptionCommand(); // Setup cmdlt.DefaultProfile = profile; cmdlt.CommandRuntime = commandRuntimeMock; // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); var subscriptionName = MockSubscriptionClientFactory.GetSubscriptionNameFromId(secondList[0]); Assert.True(commandRuntimeMock.OutputPipeline.Count == 7); Assert.Equal("Disabled", ((PSAzureSubscription)commandRuntimeMock.OutputPipeline[2]).State); Assert.Equal(subscriptionName, ((PSAzureSubscription)commandRuntimeMock.OutputPipeline[2]).Name); }
public void GetAzureRmSubscriptionByNameMultiplePages() { var tenants = new List <string> { Guid.NewGuid().ToString(), DefaultTenant.ToString() }; var firstTenantSubscriptions = new List <string> { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; var secondTenantSubscriptions = new List <string> { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; var firstList = new List <string> { firstTenantSubscriptions[0], firstTenantSubscriptions[1] }; var secondList = new List <string> { firstTenantSubscriptions[2], firstTenantSubscriptions[3] }; var thirdList = new List <string> { secondTenantSubscriptions[0], secondTenantSubscriptions[1] }; var fourthList = new List <string> { secondTenantSubscriptions[2], secondTenantSubscriptions[3] }; var client = SetupTestEnvironment(tenants, firstList, secondList, thirdList, fourthList); var subscriptionName = MockSubscriptionClientFactory.GetSubscriptionNameFromId(secondTenantSubscriptions[2]); var dataStore = new MemoryDataStore(); AzureSession.Instance.DataStore = dataStore; var commandRuntimeMock = new MockCommandRuntime(); AzureSession.Instance.AuthenticationFactory = new MockTokenAuthenticationFactory(); var profile = new AzureRmProfile(); profile.EnvironmentTable.Add("foo", new AzureEnvironment(AzureEnvironment.PublicEnvironments.Values.FirstOrDefault())); profile.DefaultContext = Context; var cmdlt = new GetAzureRMSubscriptionCommand(); // Setup cmdlt.DefaultProfile = profile; cmdlt.CommandRuntime = commandRuntimeMock; cmdlt.SubscriptionName = subscriptionName; // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); // Make sure we can get a subscription from the second page of the second tenant by subscription name var resultSubscription = (PSAzureSubscription)commandRuntimeMock.OutputPipeline[0]; Assert.Equal(subscriptionName, resultSubscription.Name); Assert.Equal(tenants[1], resultSubscription.TenantId); }