Ejemplo n.º 1
0
        public IAzureContext SetCurrentContext(string tenantId)
        {
            IAzureSubscription firstSubscription = GetFirstSubscription(tenantId);

            if (firstSubscription != null)
            {
                SwitchSubscription(firstSubscription);
            }
            else
            {
                if (_profile.DefaultContext.Account != null)
                {
                    _profile.DefaultContext.Account.SetTenants(tenantId);
                }
                //TODO: should not we clean up this field? It could be a bogus subscription we are leaving behind...
                if (_profile.DefaultContext.Subscription != null)
                {
                    _profile.DefaultContext.Subscription.SetTenant(tenantId);
                }
                _profile.SetContextWithCache(new AzureContext(
                                                 _profile.DefaultContext.Account,
                                                 _profile.DefaultContext.Environment,
                                                 CreateTenant(tenantId)));
            }
            return(_profile.DefaultContext);
        }
        public void SetContextPreservesTokenCache()
        {
            AzureRmProfile profile = null;
            AzureContext   context = new AzureContext(null, null, null, null);

            Assert.Throws <ArgumentNullException>(() => profile.SetContextWithCache(context));
            profile = new AzureRmProfile();
            Assert.Throws <ArgumentNullException>(() => profile.SetContextWithCache(null));
            profile.SetContextWithCache(context);
            Assert.Equal(AzureSession.Instance.TokenCache.CacheData, profile.DefaultContext.TokenCache.CacheData);
        }