@@ -107,6 +107,48 @@ func TestCreateTLSConfig(t *testing.T) {
107
107
assert .Equal (t , actual .MinVersion , uint16 (defaultMinVersion ))
108
108
},
109
109
},
110
+ {
111
+ "Invalid CA file returns error" ,
112
+ "prefix" ,
113
+ "invalid-ca-content" ,
114
+ "" ,
115
+ "" ,
116
+ "" ,
117
+ "" ,
118
+ func (actual * tls.Config , err error ) {
119
+ assert .Error (t , err )
120
+ assert .Contains (t , err .Error (), "could not read root certs" )
121
+ },
122
+ },
123
+ {
124
+ "Invalid CA file path returns error" ,
125
+ "prefix" ,
126
+ "ca-path-does-not-exist" ,
127
+ "" ,
128
+ "" ,
129
+ "" ,
130
+ "server-name" ,
131
+ func (actual * tls.Config , err error ) {
132
+ assert .Error (t , err )
133
+ assert .Contains (t , err .Error (), "error reading /path/does/not/exist" )
134
+ },
135
+ },
136
+ {
137
+ "Complete config with CA, cert, and key returns valid tls.Config" ,
138
+ "prefix" ,
139
+ rsaCertPEM ,
140
+ rsaCertPEM ,
141
+ rsaKeyPEM ,
142
+ "" ,
143
+ "server-name" ,
144
+ func (actual * tls.Config , err error ) {
145
+ require .NoError (t , err )
146
+ assert .Equal (t , "server-name" , actual .ServerName )
147
+ assert .NotNil (t , actual .Certificates [0 ])
148
+ assert .NotNil (t , actual .RootCAs )
149
+ assert .False (t , actual .InsecureSkipVerify )
150
+ },
151
+ },
110
152
}
111
153
112
154
for _ , tc := range tests {
@@ -120,6 +162,10 @@ func TestCreateTLSConfig(t *testing.T) {
120
162
t .Setenv (fmt .Sprintf ("%s_CA_FILE" , tc .prefix ), path )
121
163
}
122
164
165
+ if tc .caFile == "ca-path-does-not-exist" {
166
+ t .Setenv (fmt .Sprintf ("%s_CA_FILE" , tc .prefix ), "/path/does/not/exist" )
167
+ }
168
+
123
169
if tc .certFile != "" {
124
170
path := fmt .Sprintf ("%s/certFile" , dir )
125
171
utils .WriteToFile (path , tc .certFile )
0 commit comments