refactor(netxlite): add factories to create TLS handshakers (#460)

See https://github.com/ooni/probe/issues/1591
This commit is contained in:
Simone Basso 2021-09-05 20:59:42 +02:00 committed by GitHub
commit 5b8df394b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 61 additions and 3 deletions

View file

@ -6,12 +6,13 @@ import (
"net"
"testing"
"github.com/apex/log"
utls "gitlab.com/yawning/utls.git"
)
func TestUTLSHandshakerChrome(t *testing.T) {
h := &tlsHandshakerConfigurable{
NewConn: NewConnUTLS(&utls.HelloChrome_Auto),
NewConn: newConnUTLS(&utls.HelloChrome_Auto),
}
cfg := &tls.Config{ServerName: "google.com"}
conn, err := net.Dial("tcp", "google.com:443")
@ -26,3 +27,21 @@ func TestUTLSHandshakerChrome(t *testing.T) {
t.Fatal("nil connection")
}
}
func TestNewTLSHandshakerUTLSTypes(t *testing.T) {
th := NewTLSHandshakerUTLS(log.Log, &utls.HelloChrome_83)
thl, okay := th.(*tlsHandshakerLogger)
if !okay {
t.Fatal("invalid type")
}
if thl.Logger != log.Log {
t.Fatal("invalid logger")
}
thc, okay := thl.TLSHandshaker.(*tlsHandshakerConfigurable)
if !okay {
t.Fatal("invalid type")
}
if thc.NewConn == nil {
t.Fatal("expected non-nil NewConn")
}
}