public void CreateFeatureRegistrationTests()
        {
            const string ProviderName = "Providers.Test";
            const string FeatureName  = "Feature1";

            var registeredFeature = new SubscriptionFeatureRegistration(id: "featureId1", name: $"{ProviderName}/{FeatureName}");

            registeredFeature.Properties = new SubscriptionFeatureRegistrationProperties
            {
                State = ProviderFeatureClient.RegisteredStateName
            };

            this.featureOperationsMock
            .Setup(client => client.CreateOrUpdateWithHttpMessagesAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <SubscriptionFeatureRegistration>(), null, It.IsAny <CancellationToken>()))
            .Callback((string providerName, string featureName, SubscriptionFeatureRegistration subscriptionFeatureRegistrationType, Dictionary <string, List <string> > customHeaders, CancellationToken ignored) =>
            {
                Assert.Equal(ProviderName, providerName, StringComparer.OrdinalIgnoreCase);
                Assert.Equal(FeatureName, featureName, StringComparer.OrdinalIgnoreCase);
            })
            .Returns(() => Task.FromResult(new AzureOperationResponse <SubscriptionFeatureRegistration>()
            {
                Body = registeredFeature
            }));

            this.cmdlet.ProviderNamespace = ProviderName;
            this.cmdlet.Name = FeatureName;

            this.commandRuntimeMock
            .Setup(m => m.WriteObject(It.IsAny <object>()))
            .Callback((object obj) =>
            {
                Assert.IsType <PSSubscriptionFeatureRegistration>(obj);
                var feature = (PSSubscriptionFeatureRegistration)obj;
                Assert.Equal(ProviderFeatureClient.RegisteredStateName, feature.Properties.State, StringComparer.OrdinalIgnoreCase);
                Assert.Equal($"{ProviderName}/{FeatureName}", feature.Name, StringComparer.OrdinalIgnoreCase);
            });

            this.cmdlet.ExecuteCmdlet();

            this.VerifyCallPatternAndReset(succeeded: true);
        }
 /// <summary>
 /// Create or update a feature registration.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='providerNamespace'>
 /// The provider namespace.
 /// </param>
 /// <param name='featureName'>
 /// The feature name.
 /// </param>
 /// <param name='subscriptionFeatureRegistrationType'>
 /// Subscription Feature Registration Type details.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <SubscriptionFeatureRegistration> CreateOrUpdateAsync(this ISubscriptionFeatureRegistrationsOperations operations, string providerNamespace, string featureName, SubscriptionFeatureRegistration subscriptionFeatureRegistrationType = default(SubscriptionFeatureRegistration), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(providerNamespace, featureName, subscriptionFeatureRegistrationType, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Create or update a feature registration.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='providerNamespace'>
 /// The provider namespace.
 /// </param>
 /// <param name='featureName'>
 /// The feature name.
 /// </param>
 /// <param name='subscriptionFeatureRegistrationType'>
 /// Subscription Feature Registration Type details.
 /// </param>
 public static SubscriptionFeatureRegistration CreateOrUpdate(this ISubscriptionFeatureRegistrationsOperations operations, string providerNamespace, string featureName, SubscriptionFeatureRegistration subscriptionFeatureRegistrationType = default(SubscriptionFeatureRegistration))
 {
     return(operations.CreateOrUpdateAsync(providerNamespace, featureName, subscriptionFeatureRegistrationType).GetAwaiter().GetResult());
 }
Exemple #4
0
 public static PSSubscriptionFeatureRegistration ToPSSubscriptionFeatureRegistration(this SubscriptionFeatureRegistration feature)
 {
     return(new PSSubscriptionFeatureRegistration
     {
         Id = feature.Id,
         Name = feature.Name,
         Properties = feature.Properties
     });
 }