예제 #1
0
def test_validate_redis(unvalidated_config, user, user_password, use_mock, expected, app):
    with patch("redis.StrictRedis" if use_mock else "redis.None", mock_strict_redis_client):
        validator = RedisValidator()
        unvalidated_config = ValidatorContext(unvalidated_config)

        unvalidated_config.user = AttrDict(dict(username=user))
        unvalidated_config.user_password = user_password

        if expected is not None:
            with pytest.raises(expected):
                validator.validate(unvalidated_config)
        else:
            validator.validate(unvalidated_config)
예제 #2
0
def test_validated_jwt(username, password, expected_exception, app):
    with fake_jwt() as jwt_auth:
        config = {}
        config['AUTHENTICATION_TYPE'] = 'JWT'
        config['JWT_AUTH_ISSUER'] = jwt_auth.issuer
        config['JWT_VERIFY_ENDPOINT'] = jwt_auth.verify_url
        config['JWT_QUERY_ENDPOINT'] = jwt_auth.query_url
        config['JWT_GETUSER_ENDPOINT'] = jwt_auth.getuser_url

        unvalidated_config = ValidatorContext(config)
        unvalidated_config.user = AttrDict(dict(username=username))
        unvalidated_config.user_password = password
        unvalidated_config.config_provider = config_provider

        unvalidated_config.http_client = build_requests_session()

        if expected_exception is not None:
            with pytest.raises(ConfigValidationException):
                JWTAuthValidator.validate(
                    unvalidated_config,
                    public_key_path=jwt_auth.public_key_path)
        else:
            JWTAuthValidator.validate(unvalidated_config,
                                      public_key_path=jwt_auth.public_key_path)