mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-05-04 09:22:50 +08:00
133 lines
5.5 KiB
C#
133 lines
5.5 KiB
C#
// using System.Collections.Generic;
|
|
// using Ocelot.Configuration;
|
|
// using Ocelot.Configuration.Builder;
|
|
// using Ocelot.Configuration.Creator;
|
|
// using Ocelot.Configuration.File;
|
|
// using Shouldly;
|
|
// using TestStack.BDDfy;
|
|
// using Xunit;
|
|
|
|
// namespace Ocelot.UnitTests.Configuration
|
|
// {
|
|
// public class AuthenticationOptionsCreatorTests
|
|
// {
|
|
// private readonly AuthenticationOptionsCreator _authOptionsCreator;
|
|
// private FileReRoute _fileReRoute;
|
|
// private AuthenticationOptions _result;
|
|
|
|
// public AuthenticationOptionsCreatorTests()
|
|
// {
|
|
// _authOptionsCreator = new AuthenticationOptionsCreator(new AuthenticationProviderConfigCreator());
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void should_return_auth_options()
|
|
// {
|
|
// var fileReRoute = new FileReRoute()
|
|
// {
|
|
// AuthenticationOptions = new FileAuthenticationOptions
|
|
// {
|
|
// Provider = "Geoff",
|
|
// IdentityServerConfig = new FileIdentityServerConfig()
|
|
// {
|
|
// ProviderRootUrl = "http://www.bbc.co.uk/",
|
|
// ApiName = "Laura",
|
|
// RequireHttps = true,
|
|
// ApiSecret = "secret"
|
|
// },
|
|
// AllowedScopes = new List<string> { "cheese" },
|
|
|
|
// }
|
|
// };
|
|
|
|
// var authenticationConfig = new IdentityServerConfigBuilder()
|
|
// .WithProviderRootUrl(fileReRoute.AuthenticationOptions?.IdentityServerConfig?.ProviderRootUrl)
|
|
// .WithApiName(fileReRoute.AuthenticationOptions?.IdentityServerConfig?.ApiName)
|
|
// .WithRequireHttps(fileReRoute.AuthenticationOptions.IdentityServerConfig.RequireHttps)
|
|
// .WithApiSecret(fileReRoute.AuthenticationOptions?.IdentityServerConfig?.ApiSecret)
|
|
// .Build();
|
|
|
|
// var expected = new AuthenticationOptionsBuilder()
|
|
// .WithProvider(fileReRoute.AuthenticationOptions?.Provider)
|
|
// .WithAllowedScopes(fileReRoute.AuthenticationOptions?.AllowedScopes)
|
|
// .WithConfig(authenticationConfig)
|
|
// .Build();
|
|
|
|
// this.Given(x => x.GivenTheFollowing(fileReRoute))
|
|
// .When(x => x.WhenICreateTheAuthenticationOptions())
|
|
// .Then(x => x.ThenTheFollowingIdentityServerConfigIsReturned(expected))
|
|
// .BDDfy();
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void should_return_Jwt_auth_options()
|
|
// {
|
|
// var fileReRoute = new FileReRoute()
|
|
// {
|
|
// AuthenticationOptions = new FileAuthenticationOptions
|
|
// {
|
|
// Provider = "Jwt",
|
|
// JwtConfig = new FileJwtConfig()
|
|
// {
|
|
// Audience = "Audience",
|
|
// Authority = "Authority"
|
|
// },
|
|
// AllowedScopes = new List<string> { "cheese" }
|
|
// }
|
|
// };
|
|
|
|
// var authenticationConfig = new JwtConfigBuilder()
|
|
// .WithAudience(fileReRoute.AuthenticationOptions?.JwtConfig?.Audience)
|
|
// .WithAuthority(fileReRoute.AuthenticationOptions?.JwtConfig?.Authority)
|
|
// .Build();
|
|
|
|
// var expected = new AuthenticationOptionsBuilder()
|
|
// .WithProvider(fileReRoute.AuthenticationOptions?.Provider)
|
|
// .WithAllowedScopes(fileReRoute.AuthenticationOptions?.AllowedScopes)
|
|
// .WithConfig(authenticationConfig)
|
|
// .Build();
|
|
|
|
// this.Given(x => x.GivenTheFollowing(fileReRoute))
|
|
// .When(x => x.WhenICreateTheAuthenticationOptions())
|
|
// .Then(x => x.ThenTheFollowingJwtConfigIsReturned(expected))
|
|
// .BDDfy();
|
|
// }
|
|
|
|
// private void GivenTheFollowing(FileReRoute fileReRoute)
|
|
// {
|
|
// _fileReRoute = fileReRoute;
|
|
// }
|
|
|
|
// private void WhenICreateTheAuthenticationOptions()
|
|
// {
|
|
// _result = _authOptionsCreator.Create(_fileReRoute);
|
|
// }
|
|
|
|
// private void ThenTheFollowingJwtConfigIsReturned(AuthenticationOptions expected)
|
|
// {
|
|
// _result.AllowedScopes.ShouldBe(expected.AllowedScopes);
|
|
// _result.Provider.ShouldBe(expected.Provider);
|
|
|
|
// var _resultSettings = _result.Config as JwtConfig;
|
|
// var expectedSettngs = expected.Config as JwtConfig;
|
|
|
|
// _resultSettings.Audience.ShouldBe(expectedSettngs.Audience);
|
|
// _resultSettings.Authority.ShouldBe(expectedSettngs.Authority);
|
|
|
|
// }
|
|
|
|
// private void ThenTheFollowingIdentityServerConfigIsReturned(AuthenticationOptions expected)
|
|
// {
|
|
// _result.AllowedScopes.ShouldBe(expected.AllowedScopes);
|
|
// _result.Provider.ShouldBe(expected.Provider);
|
|
|
|
// var _resultSettings = _result.Config as IdentityServerConfig;
|
|
// var expectedSettngs = expected.Config as IdentityServerConfig;
|
|
|
|
// _resultSettings.ProviderRootUrl.ShouldBe(expectedSettngs.ProviderRootUrl);
|
|
// _resultSettings.RequireHttps.ShouldBe(expectedSettngs.RequireHttps);
|
|
// _resultSettings.ApiName.ShouldBe(expectedSettngs.ApiName);
|
|
// _resultSettings.ApiSecret.ShouldBe(expectedSettngs.ApiSecret);
|
|
// }
|
|
// }
|
|
// } |