public void Configure_AddsResourcesToExistingResourceList() { // Arrange var configuration = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string> { ["MyAPI:Profile"] = "API" }).Build(); var localApiDescriptor = new TestLocalApiDescriptor(); var configurationLoader = new ConfigureApiResources( configuration, localApiDescriptor, new TestLogger <ConfigureApiResources>()); var options = new ApiAuthorizationOptions(); // Act configurationLoader.Configure(options); // Assert var resource = Assert.Single(options.ApiResources); var scope = Assert.Single(resource.Scopes); Assert.Equal("MyAPI", resource.Name); Assert.Equal("MyAPI", scope.Name); }
public void GetApiResources_ReadsApiScopesFromConfiguration() { // Arrange var expectedScopes = new[] { "First", "Second", "Third" }; var configuration = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string> { ["MyAPI:Profile"] = "API", ["MyAPI:Scopes"] = "First Second Third" }).Build(); var localApiDescriptor = new TestLocalApiDescriptor(); var configurationLoader = new ConfigureApiResources( configuration, localApiDescriptor, new TestLogger <ConfigureApiResources>()); // Act var resources = configurationLoader.GetApiResources(); // Assert var resource = Assert.Single(resources); Assert.Equal("MyAPI", resource.Name); Assert.NotNull(resource.Scopes); Assert.Equal(3, resource.Scopes.Count); Assert.Equal(expectedScopes, resource.Scopes.Select(s => s.Name).ToArray()); }
public void GetApiResources_DetectsLocallyRegisteredApis() { // Arrange var configuration = new ConfigurationBuilder().Build(); var localApiDescriptor = new TestLocalApiDescriptor(new Dictionary <string, ResourceDefinition> { ["MyAPI"] = new ResourceDefinition { Profile = ApplicationProfiles.IdentityServerJwt } }); var configurationLoader = new ConfigureApiResources( configuration, localApiDescriptor, new TestLogger <ConfigureApiResources>()); // Act var resources = configurationLoader.GetApiResources(); // Assert var resource = Assert.Single(resources); var scope = Assert.Single(resource.Scopes); Assert.Equal("MyAPI", resource.Name); Assert.Equal("MyAPI", scope.Name); }
public void GetApiResources_ReadsApisFromConfiguration() { // Arrange var configuration = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string> { ["MyAPI:Profile"] = "API" }).Build(); var localApiDescriptor = new TestLocalApiDescriptor(); var configurationLoader = new ConfigureApiResources( configuration, localApiDescriptor, new TestLogger <ConfigureApiResources>()); // Act var resources = configurationLoader.GetApiResources(); // Assert var resource = Assert.Single(resources); var scope = Assert.Single(resource.Scopes); Assert.Equal("MyAPI", resource.Name); Assert.Equal("MyAPI", scope.Name); }