github.com/selefra/selefra-utils@v0.0.4/pkg/dsn_util/postgresql_test.go (about)

     1  package dsn_util
     2  
     3  import (
     4  	"github.com/stretchr/testify/assert"
     5  	"testing"
     6  )
     7  
     8  func TestNewConfigByDSN(t *testing.T) {
     9  
    10  	// ok case
    11  	dsn := "postgres://xx_username:veryhardpasswd@xxx.xxx.xxx.xxx.xxx.com:5432/xxx_database_name"
    12  	exceptedMosaicPasswdDSN := "postgres://xx_username:*******@xxx.xxx.xxx.xxx.xxx.com:5432/xxx_database_name"
    13  	exceptedOriginalPasswdDSN := dsn
    14  	c, err := NewConfigByDSN(dsn)
    15  	assert.Nil(t, err)
    16  	assert.Equal(t, exceptedMosaicPasswdDSN, c.ToDSN(true))
    17  	assert.Equal(t, exceptedOriginalPasswdDSN, c.ToDSN(false))
    18  
    19  	// bad case
    20  	_, err = NewConfigByDSN("asdasdasd")
    21  	assert.NotNil(t, err)
    22  
    23  	dsn = "host=127.0.0.1 user=postgres_user password=postgres_user port=25432 dbname=test sslmode=disable"
    24  	c, err = NewConfigByDSN(dsn)
    25  	assert.Nil(t, err)
    26  	t.Log(c)
    27  
    28  }