import redis

from util.config.validators import BaseValidator, ConfigValidationException

class RedisValidator(BaseValidator):
  name = "redis"

  @classmethod
  def validate(cls, config, user, user_password):
    """ Validates connecting to redis. """
    redis_config = config.get('BUILDLOGS_REDIS', {})
    if not 'host' in  redis_config:
      raise ConfigValidationException('Missing redis hostname')

    client = redis.StrictRedis(socket_connect_timeout=5, **redis_config)
    client.ping()