Exemple #1
0
 /// <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();
 }
Exemple #2
0
 /// <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);
                }
            });
        }