mirror of
https://github.com/redis/go-redis.git
synced 2025-07-29 17:41:15 +03:00
Add RE tests (#2847)
* Add RE tests * Enable testing on RE * change db id to 0 - only when RE cluster is set * label tests * adding secrets
This commit is contained in:
81
main_test.go
81
main_test.go
@ -6,6 +6,7 @@ import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
@ -64,6 +65,8 @@ var cluster = &clusterScenario{
|
||||
clients: make(map[string]*redis.Client, 6),
|
||||
}
|
||||
|
||||
var RECluster = false
|
||||
|
||||
func registerProcess(port string, p *redisProcess) {
|
||||
if processes == nil {
|
||||
processes = make(map[string]*redisProcess)
|
||||
@ -78,47 +81,56 @@ var _ = BeforeSuite(func() {
|
||||
redisAddr = ":" + redisPort
|
||||
}
|
||||
var err error
|
||||
RECluster, _ = strconv.ParseBool(os.Getenv("RE_CLUSTER"))
|
||||
|
||||
redisMain, err = startRedis(redisPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
if !RECluster {
|
||||
|
||||
ringShard1, err = startRedis(ringShard1Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
redisMain, err = startRedis(redisPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
ringShard2, err = startRedis(ringShard2Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
ringShard1, err = startRedis(ringShard1Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
ringShard3, err = startRedis(ringShard3Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
ringShard2, err = startRedis(ringShard2Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinelMaster, err = startRedis(sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
ringShard3, err = startRedis(ringShard3Port)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinel1, err = startSentinel(sentinelPort1, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
sentinelMaster, err = startRedis(sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinel2, err = startSentinel(sentinelPort2, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
sentinel1, err = startSentinel(sentinelPort1, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinel3, err = startSentinel(sentinelPort3, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
sentinel2, err = startSentinel(sentinelPort2, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinelSlave1, err = startRedis(
|
||||
sentinelSlave1Port, "--slaveof", "127.0.0.1", sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
sentinel3, err = startSentinel(sentinelPort3, sentinelName, sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinelSlave2, err = startRedis(
|
||||
sentinelSlave2Port, "--slaveof", "127.0.0.1", sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
sentinelSlave1, err = startRedis(
|
||||
sentinelSlave1Port, "--slaveof", "127.0.0.1", sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
Expect(startCluster(ctx, cluster)).NotTo(HaveOccurred())
|
||||
sentinelSlave2, err = startRedis(
|
||||
sentinelSlave2Port, "--slaveof", "127.0.0.1", sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
Expect(startCluster(ctx, cluster)).NotTo(HaveOccurred())
|
||||
} else {
|
||||
redisPort = rediStackPort
|
||||
redisAddr = rediStackAddr
|
||||
}
|
||||
})
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
Expect(cluster.Close()).NotTo(HaveOccurred())
|
||||
if !RECluster {
|
||||
Expect(cluster.Close()).NotTo(HaveOccurred())
|
||||
|
||||
for _, p := range processes {
|
||||
Expect(p.Close()).NotTo(HaveOccurred())
|
||||
for _, p := range processes {
|
||||
Expect(p.Close()).NotTo(HaveOccurred())
|
||||
}
|
||||
}
|
||||
processes = nil
|
||||
})
|
||||
@ -131,6 +143,23 @@ func TestGinkgoSuite(t *testing.T) {
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
func redisOptions() *redis.Options {
|
||||
if RECluster {
|
||||
return &redis.Options{
|
||||
Addr: redisAddr,
|
||||
DB: 0,
|
||||
|
||||
DialTimeout: 10 * time.Second,
|
||||
ReadTimeout: 30 * time.Second,
|
||||
WriteTimeout: 30 * time.Second,
|
||||
ContextTimeoutEnabled: true,
|
||||
|
||||
MaxRetries: -1,
|
||||
PoolSize: 10,
|
||||
|
||||
PoolTimeout: 30 * time.Second,
|
||||
ConnMaxIdleTime: time.Minute,
|
||||
}
|
||||
}
|
||||
return &redis.Options{
|
||||
Addr: redisAddr,
|
||||
DB: 15,
|
||||
|
Reference in New Issue
Block a user