package health_test import ( "context" "testing" "github.com/fiskerinc/cloud-services/pkg/health" "github.com/fiskerinc/cloud-services/pkg/testhelper" "github.com/go-pg/pg/v10/orm" "github.com/pkg/errors" ) func TestPostgresCheck(t *testing.T) { mock := MockPostgres{} check := health.NewPostgresCheck(&mock) err := check(context.Background()) testhelper.NoError(t, "No error", err) mock.PingError = errors.New("ping error") err = check(context.Background()) testhelper.Error(t, "Ping error", err) } type MockPostgres struct { OrmResult orm.Result PingError error ExecError error } func (m *MockPostgres) Ping(ctx context.Context) error { return m.PingError } func (m *MockPostgres) Exec(query interface{}, params ...interface{}) (res orm.Result, err error) { return m.OrmResult, m.ExecError }