public void Test_ProvideValue() { // Arrange. var extension = new EnumValuesExtension(typeof(TestEnum)); // Act. var values = (TestEnum[])extension.ProvideValue(new Mock <IServiceProvider>().Object); // Assert. AssertThat.SequenceEqual(new[] { TestEnum.Value1, TestEnum.Value2, TestEnum.Value3 }, values); }
public OAuth2.DataModels.TokenResponse Post(TokenRequest request) { if (request.grant_type == null || request.grant_type.Value == AuthTypes.code || request.grant_type.Value == AuthTypes.token) { Response.StatusCode = 400; throw new OAuth2.DataModels.TokenRequestError() { error = OAuth2.DataModels.ErrorCodes.invalid_request, error_description = "Missing or invalid grant type. Valid: " + string.Join(", ", EnumValuesExtension <AuthTypes> .GetValues().Where((cur) => cur != AuthTypes.token && cur != AuthTypes.code)) }; } OAuth2.DataModels.Client client = ValidateClient(request.client_id, request.client_password); Uri clientUri = ValidateRedirectURI(request.redirect_uri, client.redirect_uri); switch (request.grant_type.Value) { case AuthTypes.client_credentials: return(HandleClientCredentialsGrant(request, client)); case AuthTypes.password: return(HandlePasswordGrant(request, client)); case AuthTypes.authorization_code: HandleCodeExchange(request, client); return(null); case AuthTypes.refresh_token: HandleRefreshTokenGrant(request, client); return(null); default: throw new DataModels.TokenRequestError(DataModels.ErrorCodes.invalid_request, string.Format("Grant Type {0} is not supported", request.grant_type.Value)); } }