@@ -76,6 +76,7 @@ func TestNewService(t *testing.T) {
7676 TLSPort : "10091" ,
7777 TLSSubjectName : "localhost" ,
7878 TLSCertificatePath : testCertFilePath ,
79+ MinTLSVersion : "TLS 1.2" ,
7980 }
8081
8182 svc , err := NewService (config .Name , config .Version , config .ChannelMode , config .Store )
@@ -94,10 +95,13 @@ func TestNewService(t *testing.T) {
9495 err = svc .StartListener (config )
9596 require .NoError (t , err )
9697
98+ minTLSVersionNumber , err := parseTLSVersionName (config .TLSSettings .MinTLSVersion )
99+ require .NoError (t , err )
100+
97101 tlsClient := & http.Client {
98102 Transport : & http.Transport {
99103 TLSClientConfig : & tls.Config {
100- MinVersion : tls . VersionTLS12 ,
104+ MinVersion : minTLSVersionNumber ,
101105 MaxVersion : tls .VersionTLS13 ,
102106 ServerName : config .TLSSettings .TLSSubjectName ,
103107 // #nosec G402 for test purposes only
@@ -134,6 +138,7 @@ func TestNewService(t *testing.T) {
134138 TLSSubjectName : "localhost" ,
135139 TLSCertificatePath : testCertFilePath ,
136140 UseMTLS : true ,
141+ MinTLSVersion : "TLS 1.2" ,
137142 }
138143
139144 svc , err := NewService (config .Name , config .Version , config .ChannelMode , config .Store )
@@ -322,3 +327,31 @@ func createTestCertificate(t *testing.T) string {
322327
323328 return testCertFilePath
324329}
330+
331+ func TestTLSVersionNumber (t * testing.T ) {
332+ t .Run ("unsupported ServerSettings.MinTLSVersion TLS 1.0" , func (t * testing.T ) {
333+ versionNumber , err := parseTLSVersionName ("TLS 1.0" )
334+ require .Equal (t , uint16 (0 ), versionNumber )
335+ require .Error (t , err )
336+ require .ErrorContains (t , err , "unsupported TLS version name" )
337+ })
338+
339+ t .Run ("unsupported ServerSettings.MinTLSVersion TLS 1.1" , func (t * testing.T ) {
340+ versionNumber , err := parseTLSVersionName ("TLS 1.1" )
341+ require .Equal (t , uint16 (0 ), versionNumber )
342+ require .Error (t , err )
343+ require .ErrorContains (t , err , "unsupported TLS version name" )
344+ })
345+ t .Run ("unsupported ServerSettings.MinTLSVersion TLS 1.4" , func (t * testing.T ) {
346+ versionNumber , err := parseTLSVersionName ("TLS 1.4" )
347+ require .Equal (t , uint16 (0 ), versionNumber )
348+ require .Error (t , err )
349+ require .ErrorContains (t , err , "unsupported TLS version name" )
350+ })
351+
352+ t .Run ("valid ServerSettings.MinTLSVersion" , func (t * testing.T ) {
353+ versionNumber , err := parseTLSVersionName ("TLS 1.2" )
354+ require .Equal (t , uint16 (tls .VersionTLS12 ), versionNumber )
355+ require .NoError (t , err )
356+ })
357+ }
0 commit comments