@@ -97,23 +97,36 @@ func TestNewDefaultConfig(t *testing.T) {
97
97
require .NoError (t , err )
98
98
})
99
99
100
- t .Run ("should not connect on server without ssl" , func (t * testing.T ) {
100
+ t .Run ("should verify all ssl-modes " , func (t * testing.T ) {
101
101
v := viper .New ()
102
102
v .SetDefault ("postgres.debug" , true )
103
103
v .SetDefault ("postgres.username" , "postgres" )
104
104
v .SetDefault ("postgres.password" , "postgres" )
105
105
v .SetDefault ("postgres.database" , "postgres" )
106
- v .Set ("postgres.options.sslmode" , "verify-full" )
107
106
108
- cfg , err := NewDefaultConfig (v )
109
- require .NoError (t , err )
110
- require .Equal (t , "postgres" , cfg .Username )
111
- require .Equal (t , "postgres" , cfg .Password )
112
- require .Equal (t , "postgres" , cfg .Database )
107
+ modes := []string {
108
+ "disable" ,
109
+ "require" ,
110
+ "unknown" ,
111
+ "verify-ca" ,
112
+ "verify-full" ,
113
+ }
113
114
114
- cli , err := NewConnection (cfg , l , v )
115
- require .Nil (t , cli )
116
- require .EqualError (t , err , "can't connect to postgres: pg: SSL is not enabled on the server" )
115
+ for _ , mode := range modes {
116
+ if mode == "require" {
117
+ v .Set ("postgres.options.sslrootcert" , mode )
118
+ }
119
+
120
+ v .Set ("postgres.options.sslmode" , mode )
121
+
122
+ cfg , err := NewDefaultConfig (v )
123
+ require .NoError (t , err )
124
+ require .Equal (t , "postgres" , cfg .Username )
125
+ require .Equal (t , "postgres" , cfg .Password )
126
+ require .Equal (t , "postgres" , cfg .Database )
127
+
128
+ _ , _ = NewConnection (cfg , l , v )
129
+ }
117
130
})
118
131
119
132
t .Run ("should not fail on couldn't parse pem in sslrootcert" , func (t * testing.T ) {
0 commit comments