...

Source file src/edge-infra.dev/pkg/lib/gcp/cloudsql/cloudsql_test.go

Documentation: edge-infra.dev/pkg/lib/gcp/cloudsql

     1  package cloudsql
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestValidationGCP(t *testing.T) {
    10  	s := GCPPostgresConnection("")
    11  	assert.Error(t, s.Validate())
    12  	s = GCPPostgresConnection("tester")
    13  	assert.Error(t, s.Validate())
    14  	s = GCPPostgresConnection("tester").DBName("tester")
    15  	assert.Error(t, s.Validate())
    16  	s = GCPPostgresConnection("tester").DBName("tester").Username("tester")
    17  	assert.NoError(t, s.Validate())
    18  	s = GCPPostgresConnection("tester").DBName("tester").Username("tester")
    19  	s.host = "hoster"
    20  	assert.Error(t, s.Validate())
    21  }
    22  
    23  func TestValidationPostgres(t *testing.T) {
    24  	s := PostgresConnection("", "")
    25  	assert.Error(t, s.Validate())
    26  	s = PostgresConnection("hoster", "")
    27  	assert.Error(t, s.Validate())
    28  	s = PostgresConnection("hoster", "porter")
    29  	assert.Error(t, s.Validate())
    30  	s = PostgresConnection("hoster", "porter").DBName("tester")
    31  	assert.Error(t, s.Validate())
    32  	s = PostgresConnection("hoster", "porter").DBName("tester").Username("tester")
    33  	assert.Error(t, s.Validate())
    34  	s = PostgresConnection("hoster", "porter").DBName("tester").Username("tester")
    35  	assert.Error(t, s.Validate())
    36  	s = PostgresConnection("hoster", "porter").DBName("tester").Username("tester").Password("pword")
    37  	assert.NoError(t, s.Validate())
    38  }
    39  
    40  func TestValidateSetsDefaultMaxOpenConns(t *testing.T) {
    41  	var ep = &EdgePostgres{
    42  		connectionName: "connectionname",
    43  		dbName:         "dbname",
    44  		maxOpenConns:   0,
    45  		username:       "username",
    46  	}
    47  	assert.Equal(t, 0, ep.maxOpenConns)
    48  	assert.NoError(t, ep.Validate())
    49  	assert.Equal(t, DefaultMaxOpenConns, ep.maxOpenConns)
    50  }
    51  
    52  func TestConfigurationGCP(t *testing.T) {
    53  	s := GCPPostgresConnection("tester").DBName("tester").Username("tester")
    54  	c, err := s.CreateConfig()
    55  	assert.NoError(t, err)
    56  	assert.NotNil(t, c.DialFunc)
    57  	assert.Equal(t, c.User, "tester")
    58  	assert.Equal(t, c.Database, "tester")
    59  	assert.NotContains(t, c.ConnString(), "search_path")
    60  
    61  	s.SearchPath("abcd")
    62  	c, err = s.CreateConfig()
    63  	assert.NoError(t, err)
    64  	assert.Contains(t, c.ConnString(), "search_path='abcd'")
    65  }
    66  
    67  func TestConfigurationPostgres(t *testing.T) {
    68  	s := PostgresConnection("hoster", "1234").DBName("tester").Username("tester").Password("pword")
    69  	c, err := s.CreateConfig()
    70  	assert.NoError(t, err)
    71  	assert.Equal(t, c.User, "tester")
    72  	assert.Equal(t, c.Password, "pword")
    73  	assert.Equal(t, c.Database, "tester")
    74  	assert.Equal(t, c.Host, "hoster")
    75  	assert.Equal(t, c.Port, uint16(1234))
    76  	assert.NotContains(t, c.ConnString(), "search_path")
    77  
    78  	s.SearchPath("abcd", "efgh")
    79  	c, err = s.CreateConfig()
    80  	assert.NoError(t, err)
    81  	assert.Contains(t, c.ConnString(), "search_path='abcd, efgh'")
    82  }
    83  

View as plain text