Skip to content

Commit 0c2299c

Browse files
authored
test: against auth-required servers (#209)
1 parent fde3cb1 commit 0c2299c

File tree

3 files changed

+75
-1
lines changed

3 files changed

+75
-1
lines changed

.github/workflows/test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ jobs:
2424
runs-on: ubuntu-latest
2525
strategy:
2626
fail-fast: false
27-
max-parallel: 8
27+
max-parallel: 10
2828
matrix:
2929
include:
3030
- {redis: '7.0', ruby: '3.2'}
3131
- {redis: '7.0', ruby: '3.2', compose: compose.ssl.yaml}
3232
- {redis: '7.0', ruby: '3.2', driver: 'hiredis'}
3333
- {redis: '7.0', ruby: '3.2', driver: 'hiredis', compose: compose.ssl.yaml}
3434
- {redis: '7.0', ruby: '3.2', replica: '2', compose: compose.replica.yaml}
35+
- {redis: '7.0', ruby: '3.2', compose: compose.auth.yaml}
3536
- {redis: '6.2', ruby: '3.1'}
3637
- {redis: '6.2', ruby: '3.0'}
3738
- {redis: '5.0', ruby: '2.7'}

compose.auth.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
services:
3+
node1: &node
4+
image: "redis:${REDIS_VERSION:-7}"
5+
command: >
6+
redis-server
7+
--maxmemory 64mb
8+
--maxmemory-policy allkeys-lru
9+
--requirepass '!&<123-abc>'
10+
--masterauth '!&<123-abc>'
11+
--appendonly yes
12+
--cluster-enabled yes
13+
--cluster-config-file nodes.conf
14+
--cluster-node-timeout 5000
15+
restart: "${RESTART_POLICY:-always}"
16+
healthcheck:
17+
test: ["CMD", "redis-cli", "ping"]
18+
interval: "7s"
19+
timeout: "5s"
20+
retries: 10
21+
ports:
22+
- "6379:6379"
23+
node2:
24+
<<: *node
25+
ports:
26+
- "6380:6379"
27+
node3:
28+
<<: *node
29+
ports:
30+
- "6381:6379"
31+
node4:
32+
<<: *node
33+
ports:
34+
- "6382:6379"
35+
node5:
36+
<<: *node
37+
ports:
38+
- "6383:6379"
39+
node6:
40+
<<: *node
41+
ports:
42+
- "6384:6379"
43+
clustering:
44+
image: "redis:${REDIS_VERSION:-7}"
45+
command: >
46+
bash -c "apt-get update > /dev/null
47+
&& apt-get install --no-install-recommends --no-install-suggests -y dnsutils > /dev/null
48+
&& rm -rf /var/lib/apt/lists/*
49+
&& yes yes | redis-cli -a '!&<123-abc>' --cluster create
50+
$$(dig node1 +short):6379
51+
$$(dig node2 +short):6379
52+
$$(dig node3 +short):6379
53+
$$(dig node4 +short):6379
54+
$$(dig node5 +short):6379
55+
$$(dig node6 +short):6379
56+
--cluster-replicas 1"
57+
depends_on:
58+
node1:
59+
condition: service_healthy
60+
node2:
61+
condition: service_healthy
62+
node3:
63+
condition: service_healthy
64+
node4:
65+
condition: service_healthy
66+
node5:
67+
condition: service_healthy
68+
node6:
69+
condition: service_healthy

test/testing_constants.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
raise unless e.message.include?('Connection reset by peer') || e.message.include?('EOFError')
4040

4141
_redis_scheme = 'rediss'
42+
rescue ::RedisClient::CommandError => e
43+
raise unless e.message.include?('NOAUTH')
44+
45+
_base_opts.merge!(password: '!&<123-abc>')
4246
ensure
4347
_tmp_cli&.close
4448
end

0 commit comments

Comments
 (0)