Skip to content

Commit

Permalink
feat: added redis connection check for all nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
Wil Simpson committed Dec 7, 2024
1 parent 1d553a8 commit da12c5e
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
1 change: 1 addition & 0 deletions pkg/repository/repository_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ func TestRepository(t *testing.T) {
Expect(mdbCloseFunc).NotTo(BeNil())

redisCloseFunc, data.RedisConfig, err = testsro.SetupRedisWithDocker()
Expect(err).NotTo(HaveOccurred())

data.GormConfig = config.DBConfig{
ServerAddress: config.ServerAddress{
Expand Down
24 changes: 24 additions & 0 deletions pkg/testsro/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,30 @@ func SetupRedisWithDocker() (closeFn func() error, cfg config.DBPoolConfig, err
return resource.Close()
}

for _, port := range []string{"7000", "7001", "7002", "7003", "7004", "7005"} {
// retry until redis cluster is ready
err = pool.Retry(func() (err error) {
code, err := resource.Exec([]string{
"redis-cli",
"-p",
port,
"--raw",
"incr",
"ping",
}, dockertest.ExecOptions{
StdOut: os.Stdout,
StdErr: os.Stderr,
})
if code != 0 {
return fmt.Errorf("redis-cli not ready: code %d", code)
}
return err
})
if err != nil {
return
}
}

// container is ready, return *gorm.Db for testing
cfg = config.DBPoolConfig{
Master: config.DBConfig{
Expand Down

0 comments on commit da12c5e

Please sign in to comment.