public void RegisterResourceProviderFeatureTests()
{
const string ProviderName = "Providers.Test";
const string FeatureName = "Feature1";
var registeredFeature = new FeatureResult
{
Id = "featureId1",
Name = ProviderName + "/" + FeatureName,
Properties = new FeatureProperties
{
State = ProviderFeatureClient.RegisteredStateName,
},
Type = "Microsoft.Features/feature"
};
this.featureOperationsMock
.Setup(client => client.RegisterWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<string>(), null, It.IsAny<CancellationToken>()))
.Callback((string providerName, string featureName, Dictionary<string, List<string>> customHeaders, CancellationToken ignored) =>
{
Assert.Equal(ProviderName, providerName, StringComparer.OrdinalIgnoreCase);
Assert.Equal(FeatureName, featureName, StringComparer.OrdinalIgnoreCase);
})
.Returns(() => Task.FromResult(new AzureOperationResponse<FeatureResult>()
{
Body = registeredFeature
}));
this.cmdlet.ProviderNamespace = ProviderName;
this.cmdlet.FeatureName = FeatureName;
this.commandRuntimeMock
.Setup(m => m.WriteObject(It.IsAny<object>()))
.Callback((object obj) =>
{
Assert.IsType<PSProviderFeature>(obj);
var feature = (PSProviderFeature)obj;
Assert.Equal(ProviderName, feature.ProviderName, StringComparer.OrdinalIgnoreCase);
Assert.Equal(FeatureName, feature.FeatureName, StringComparer.OrdinalIgnoreCase);
});
this.cmdlet.ExecuteCmdlet();
this.VerifyCallPatternAndReset(succeeded: true);
}