Skip to content

Commit

Permalink
tests(helpers): supporting Redis cluster and optional Redis password
Browse files Browse the repository at this point in the history
  • Loading branch information
subnetmarco committed Sep 14, 2024
1 parent 1c4b859 commit b7b336e
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions spec/helpers/redis_helper.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,31 @@ local version = require "version"
local DEFAULT_TIMEOUT = 2000


local function connect(host, port)
local function connect(host, port, password)
local redis_client = redis:new()
redis_client:set_timeout(DEFAULT_TIMEOUT)
assert(redis_client:connect(host, port))
if password then
assert(redis_client:auth(password))
end
local red_version = string.match(redis_client:info(), 'redis_version:([%g]+)\r\n')
return redis_client, assert(version(red_version))
end

local function reset_redis(host, port)
local redis_client = connect(host, port)
redis_client:flushall()
local function reset_redis(host, port, password)
local redis_client = connect(host, port, password)
local num_databases = (config_res and config_res[2]) and tonumber(config_res[2]) or 1

for db = 0, num_databases - 1 do
redis_client:select(db)
local cursor = "0"
repeat
local result = redis_client:scan(cursor)
cursor = result[1]
for _, key in ipairs(result[2]) do redis_client:del(key) end
until cursor == "0"
end

redis_client:close()
end

Expand Down

0 comments on commit b7b336e

Please sign in to comment.