From 4d2c855aa7f6f18c3cc25e7e536ebedc408671f2 Mon Sep 17 00:00:00 2001 From: Lairon Acosta Guardias Date: Sat, 27 Mar 2021 22:48:04 -0500 Subject: [PATCH] feat: implementing unit test for pg db client --- go.mod | 1 + pgdb/pg_db_test.go | 49 ++++++++++++++++++++++++++++++++++++++++ redisdb/redis_db_test.go | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 pgdb/pg_db_test.go diff --git a/go.mod b/go.mod index 967da59..5dceff7 100644 --- a/go.mod +++ b/go.mod @@ -5,4 +5,5 @@ go 1.16 require ( github.com/go-pg/pg/v10 v10.9.0 github.com/go-redis/redis/v8 v8.8.0 + github.com/stretchr/testify v1.7.0 ) diff --git a/pgdb/pg_db_test.go b/pgdb/pg_db_test.go new file mode 100644 index 0000000..34efa63 --- /dev/null +++ b/pgdb/pg_db_test.go @@ -0,0 +1,49 @@ +package pgdb + +import ( + "fmt" + "github.com/go-pg/pg/v10" + "github.com/stretchr/testify/assert" + "testing" +) + +var pgOptions = &pg.Options{ + Addr: "localhost:5432", + User: "postgres", + Password: "postgres", + Database: "pg-db-go", +} + +func TestNewPgDB_WhenOptionsOk_ThenCreateClient(t *testing.T) { + got := NewPgDB(pgOptions) + got.Close() + + assert.NotNil(t, got) + assert.Equal(t, pgOptions.Addr, got.Options().Addr) + assert.Equal(t, pgOptions.User, got.Options().User) + assert.Equal(t, pgOptions.Password, got.Options().Password) + assert.Equal(t, pgOptions.Database, got.Options().Database) +} + +func TestNewPgDB_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)) + } + }() + NewPgDB(nil) +} + +func TestNewPgDB_WhenOptionsContainBadAddr_ThenPanic(t *testing.T) { + defer func() { + if r := recover(); r != nil { + assert.Equal(t, fmt.Sprintln("Postgres connection error dial tcp: lookup bad: no such host"), fmt.Sprint(r)) + } + }() + NewPgDB(&pg.Options{ + Addr: "bad:6379", + User: "postgres", + Password: "postgres", + Database: "pg-db-go", + }) +} diff --git a/redisdb/redis_db_test.go b/redisdb/redis_db_test.go index f9e7465..d22d01b 100644 --- a/redisdb/redis_db_test.go +++ b/redisdb/redis_db_test.go @@ -35,7 +35,7 @@ func TestNewRedisDB_WhenOptionsNil_ThenPanic(t *testing.T) { 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)) + assert.Equal(t, fmt.Sprintln("Redis connection error dial tcp: lookup bad: no such host"), fmt.Sprint(r)) } }() NewRedisDB(&redis.Options{