From a6e933154189fc5af4663556d8a236ebf72759a6 Mon Sep 17 00:00:00 2001 From: Lairon Acosta Guardias Date: Sat, 27 Mar 2021 22:26:05 -0500 Subject: [PATCH] feat: adding unit testing for redis db client --- redisdb/redis_db_test.go | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 redisdb/redis_db_test.go diff --git a/redisdb/redis_db_test.go b/redisdb/redis_db_test.go new file mode 100644 index 0000000..f9e7465 --- /dev/null +++ b/redisdb/redis_db_test.go @@ -0,0 +1,46 @@ +package redisdb + +import ( + "fmt" + "github.com/go-redis/redis/v8" + "github.com/stretchr/testify/assert" + "testing" +) + +var redisOptions = &redis.Options{ + Addr: "localhost:6379", + Password: "", + DB: 0, +} + +func TestNewRedisDB_WhenOptionsOk_ThenCreateClient(t *testing.T) { + got := NewRedisDB(redisOptions) + got.Close() + + assert.NotNil(t, got) + assert.Equal(t, redisOptions.Addr, got.Options().Addr) + assert.Equal(t, redisOptions.Password, got.Options().Password) + assert.Equal(t, redisOptions.DB, got.Options().DB) +} + +func TestNewRedisDB_WhenOptionsNil_ThenPanic(t *testing.T) { + defer func() { + if r := recover(); r != nil { + assert.Equal(t, fmt.Sprint("runtime error: invalid memory address or nil pointer dereference"), fmt.Sprint(r)) + } + }() + NewRedisDB(nil) +} + +func TestNewRedisDB_WhenOptionsContainBadAddr_ThenPanic(t *testing.T) { + defer func() { + if r := recover(); r != nil { + assert.Equal(t, fmt.Sprintln("Redis connection error dial tcp: lookup awdawdaw: no such host"), fmt.Sprint(r)) + } + }() + NewRedisDB(&redis.Options{ + Addr: "bad:6379", + Password: "", + DB: 0, + }) +}