github.com/adecaro/fabric-ca@v2.0.0-alpha+incompatible/lib/server/db/util/util_test.go (about)

     1  /*
     2  Copyright IBM Corp. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package util_test
     8  
     9  import (
    10  	"github.com/hyperledger/fabric-ca/lib/server/db/util"
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  )
    14  
    15  var _ = Describe("util", func() {
    16  
    17  	Context("GetDBName", func() {
    18  		It("parses the datasource for mysql and returns only the database name", func() {
    19  			datasource := "root:rootpw@tcp(localhost:3306)/fabric_ca_db"
    20  
    21  			dbName := util.GetDBName(datasource)
    22  			Expect(dbName).To(Equal("fabric_ca_db"))
    23  		})
    24  
    25  		It("parses the datasource for postgres and returns only the database name", func() {
    26  			datasource := "host=localhost port=5432 user=root password=rootpw dbname=fabric_ca"
    27  
    28  			dbName := util.GetDBName(datasource)
    29  			Expect(dbName).To(Equal("fabric_ca"))
    30  		})
    31  	})
    32  
    33  	Context("MaskDBCred", func() {
    34  		It("masks the credentails in the datasource string for mysql", func() {
    35  			datasource := "root:rootpw@tcp(localhost:3306)/fabric_ca_db"
    36  
    37  			masked := util.MaskDBCred(datasource)
    38  			Expect(masked).To(Equal("****:****@tcp(localhost:3306)/fabric_ca_db"))
    39  		})
    40  
    41  		It("masks the credentails in the datasource string for postgres", func() {
    42  			datasource := "host=localhost port=5432 user=root password=rootpw dbname=fabric_ca"
    43  
    44  			masked := util.MaskDBCred(datasource)
    45  			Expect(masked).To(Equal("host=localhost port=5432 user=**** password=**** dbname=fabric_ca"))
    46  		})
    47  	})
    48  
    49  	Context("GetCADatasource", func() {
    50  		It("returns a datasource with a unique database name", func() {
    51  			datasourceStr := util.GetCADataSource("sqlite3", "fabric.db", 2)
    52  			Expect(datasourceStr).To(Equal("fabric_ca2.db"))
    53  
    54  			datasourceStr = util.GetCADataSource("mysql", "root:rootpw@tcp(localhost:3306)/fabric_db", 2)
    55  			Expect(datasourceStr).To(Equal("root:rootpw@tcp(localhost:3306)/fabric_db_ca2"))
    56  
    57  			datasourceStr = util.GetCADataSource("postgres", "host=localhost port=5432 user=root password=rootpw dbname=fabric", 2)
    58  			Expect(datasourceStr).To(Equal("host=localhost port=5432 user=root password=rootpw dbname=fabric_ca2"))
    59  		})
    60  	})
    61  })