public void SetContextWithNameCopiesAccountProperties() { TestExecutionHelpers.SetUpSessionAndProfile(); var context = new AzureContext(); var newContext = new AzureContext(); context.CopyFrom(context1); newContext.CopyFrom(context1); var token = Guid.NewGuid().ToString(); newContext.Account.SetProperty(AzureAccount.Property.AccessToken, token); var profile = new AzureRmProfile(); profile.DefaultContext = context; Assert.True(profile.TrySetContext(profile.DefaultContextKey, newContext)); Assert.True(profile.DefaultContext.Account.IsPropertySet(AzureAccount.Property.AccessToken)); Assert.Equal(token, profile.DefaultContext.Account.GetAccessToken()); }
public IAzureContext SetCurrentContext(string subscriptionNameOrId, string tenantId, string name = null) { IAzureSubscription subscription = null; IAzureTenant tenant = null; Guid subscriptionId; IAzureContext context = new AzureContext(); context.CopyFrom(_profile.DefaultContext); if (!string.IsNullOrWhiteSpace(subscriptionNameOrId)) { if (Guid.TryParse(subscriptionNameOrId, out subscriptionId)) { TryGetSubscriptionById(tenantId, subscriptionNameOrId, out subscription); } else { TryGetSubscriptionByName(tenantId, subscriptionNameOrId, out subscription); } if (subscription == null) { throw new ArgumentException(ProfileMessages.SubscriptionOrTenantRequired); } var tenantFromSubscription = subscription.GetTenant(); tenant = string.IsNullOrWhiteSpace(tenantId) ? (string.IsNullOrEmpty(tenantFromSubscription) ? context.Tenant : CreateTenant(tenantFromSubscription)): CreateTenant(tenantId); } else if (!string.IsNullOrWhiteSpace(tenantId)) { subscription = GetFirstSubscription(tenantId); tenant = CreateTenant(tenantId); } else { throw new ArgumentException(ProfileMessages.SubscriptionOrTenantRequired); } context.WithTenant(tenant).WithSubscription(subscription); _profile.TrySetDefaultContext(name, context); _profile.DefaultContext.ExtendedProperties.Clear(); return(context); }