コード例 #1
0
        public void LoginBySubscriptionTenant()
        {
            string tenantA = Guid.NewGuid().ToString(), tenantB = Guid.NewGuid().ToString();
            string subscriptionA = Guid.NewGuid().ToString()
            , subscriptionB      = Guid.NewGuid().ToString()
            , subscriptionC      = Guid.NewGuid().ToString()
            , subscriptionD      = Guid.NewGuid().ToString();
            var clientFactory    = new MockSubscriptionClientFactory();

            Dictionary <string, string> subscriptionListA = GetFirstTenantSubscriptionsJson(tenantA, subscriptionA, subscriptionB, subscriptionC, tenantB);

            subscriptionClients.Clear();
            subscriptionClients.Enqueue(clientFactory.GetSubscriptionClientVer2019(
                                            null
                                            , MockSubscriptionClientFactory.CreateSubscripitonsFromJson(subscriptionListA[subscriptionB])
                                            , null
                                            ));

            var mock = new AccountMockClientFactory(() =>
            {
                return(subscriptionClients.Peek());
            }, true);

            mock.MoqClients = true;
            AzureSession.Instance.ClientFactory = mock;


            var client         = GetProfileClient();
            var azureRmProfile = client.Login(
                Context.Account,
                Context.Environment,
                tenantA,
                subscriptionB,
                null,
                null,
                false,
                null);

            Assert.Equal("2019-06-01", client.SubscriptionAndTenantClient.ApiVersion);
            Assert.Equal(tenantA, azureRmProfile.DefaultContext.Tenant.Id.ToString());
            Assert.Equal(subscriptionB, azureRmProfile.DefaultContext.Subscription.Id.ToString());
        }
コード例 #2
0
        public void LoginByTenantSubscriptionNotExist()
        {
            string tenantA = Guid.NewGuid().ToString(), tenantB = Guid.NewGuid().ToString();
            string subscriptionA = Guid.NewGuid().ToString()
            , subscriptionB      = Guid.NewGuid().ToString()
            , subscriptionC      = Guid.NewGuid().ToString()
            , subscriptionD      = Guid.NewGuid().ToString();
            var clientFactory    = new MockSubscriptionClientFactory();

            Dictionary <string, string> subscriptionListA = GetFirstTenantSubscriptionsJson(tenantA, subscriptionA, subscriptionB, subscriptionC, tenantB);
            Dictionary <string, string> subscriptionListB = GetSecondTenantSubscriptionsJson(tenantB, subscriptionA, subscriptionB, subscriptionC, subscriptionD, tenantA);

            subscriptionClients.Clear();
            subscriptionClients.Enqueue(clientFactory.GetSubscriptionClientVer2019(
                                            null
                                            , MockSubscriptionClientFactory.CreateSubscripitonsFromJson(null)
                                            , null
                                            ));

            var mock = new AccountMockClientFactory(() =>
            {
                return(subscriptionClients.Peek());
            }, true);

            mock.MoqClients = true;
            AzureSession.Instance.ClientFactory = mock;


            var client = GetProfileClient();

            Assert.Throws <PSInvalidOperationException>(() =>
                                                        client.Login(
                                                            Context.Account,
                                                            Context.Environment,
                                                            tenantB,
                                                            subscriptionB,
                                                            null,
                                                            null,
                                                            false,
                                                            null));
        }