/// <summary> /// Validate that user subscriptions can be moved between delegated provider /// offers. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='moveSubscriptionsDefinition'> /// Move subscriptions parameter. /// </param> public static void ValidateMoveSubscriptions(this ISubscriptionsOperations operations, MoveSubscriptionsDefinition moveSubscriptionsDefinition) { operations.ValidateMoveSubscriptionsAsync(moveSubscriptionsDefinition).GetAwaiter().GetResult(); }
/// <summary> /// Validate that user subscriptions can be moved between delegated provider /// offers. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='moveSubscriptionsDefinition'> /// Move subscriptions parameter. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task ValidateMoveSubscriptionsAsync(this ISubscriptionsOperations operations, MoveSubscriptionsDefinition moveSubscriptionsDefinition, CancellationToken cancellationToken = default(CancellationToken)) { (await operations.ValidateMoveSubscriptionsWithHttpMessagesAsync(moveSubscriptionsDefinition, null, cancellationToken).ConfigureAwait(false)).Dispose(); }
public void MoveSubscriptions() { RunTest((client) => { var offer = client.Offers.Get(TestContext.ResourceGroupName, TestContext.MoveOfferName); var subsriptionIds = new[] { "ce4c7fdb-5a38-46f5-8bbc-b8b328a87ab7", "a0d1a71c-0b27-4e73-abfc-169512576f7e", "85d57d7e-c8b4-4ab3-ba62-54b5984fa3c7" }; var subscriptions = new Subscription[3]; for (var i = 0; i < subscriptions.Length; i++) { var subscriptionId = subsriptionIds[i]; subscriptions[i] = new Subscription( delegatedProviderSubscriptionId: TestContext.DefaultProviderSubscriptionId, displayName: nameof(MoveSubscriptions) + i, offerId: offer.Id, owner: TestContext.TenantUpn, subscriptionId: subscriptionId, state: SubscriptionState.Enabled, tenantId: TestContext.DirectoryTenantId); var result = client.Subscriptions.CreateOrUpdate( subscription: subscriptionId, newSubscription: subscriptions[i]); ValidateSubscription(result); subscriptions[i] = result; } var delegatedProviderOffer = client.DelegatedProviderOffers.Get( TestContext.DelegatedProviderSubscriptionId, TestContext.DelegatedProviderOfferName); var moveSubscriptionsDefinition = new MoveSubscriptionsDefinition() { TargetDelegatedProviderOffer = delegatedProviderOffer.Id, Resources = subscriptions.Select(s => s.Id).ToArray() }; client.Subscriptions.MoveSubscriptions(moveSubscriptionsDefinition); var subscriptionIds = subscriptions.Select(s => s.SubscriptionId); subscriptions = client.Subscriptions.List() .Where(s => subscriptionIds.Contains(s.SubscriptionId)) .ToArray(); var expectedOfferId = string.Format( provider: CultureInfo.InvariantCulture, format: "/subscriptions/{0}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{1}/offers/{2}", arg0: TestContext.DefaultProviderSubscriptionId, arg1: TestContext.DelegatedProviderSubscriptionId, arg2: TestContext.DelegatedProviderOfferName); foreach (var subscription in subscriptions) { Assert.Equal(delegatedProviderOffer.Id, subscription.OfferId); client.Subscriptions.Delete(subscription.SubscriptionId); } }); }