GetSubscriptionNameFromId() public static method

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());
        }
Example #3
0
        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);
        }