84 lines
1.6 KiB
Go
84 lines
1.6 KiB
Go
|
package tlsmiddlebox
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func TestConfig_maxttl(t *testing.T) {
|
||
|
c := Config{}
|
||
|
if c.maxttl() != 20 {
|
||
|
t.Fatal("invalid default number of repetitions")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestConfig_delay(t *testing.T) {
|
||
|
c := Config{}
|
||
|
if c.delay() != 100*time.Millisecond {
|
||
|
t.Fatal("invalid default delay")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestConfig_resolver(t *testing.T) {
|
||
|
c := Config{}
|
||
|
if c.resolverURL() != "https://mozilla.cloudflare-dns.com/dns-query" {
|
||
|
t.Fatal("invalid resolver URL")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestConfig_snipass(t *testing.T) {
|
||
|
c := Config{}
|
||
|
if c.snicontrol() != "example.com" {
|
||
|
t.Fatal("invalid pass SNI")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestConfig_testhelper(t *testing.T) {
|
||
|
t.Run("without config", func(t *testing.T) {
|
||
|
c := Config{}
|
||
|
th, err := c.testhelper("example.com")
|
||
|
if err != nil {
|
||
|
t.Fatal("unexpected error")
|
||
|
}
|
||
|
if th.Scheme != "tlshandshake" {
|
||
|
t.Fatal("unexpected scheme")
|
||
|
}
|
||
|
if th.Host != "example.com" {
|
||
|
t.Fatal("unexpected host")
|
||
|
}
|
||
|
})
|
||
|
|
||
|
t.Run("with config", func(t *testing.T) {
|
||
|
c := Config{
|
||
|
TestHelper: "tlshandshake://example.com:80",
|
||
|
}
|
||
|
th, err := c.testhelper("google.com")
|
||
|
if err != nil {
|
||
|
t.Fatal("unexpected error")
|
||
|
}
|
||
|
if th.Scheme != "tlshandshake" {
|
||
|
t.Fatal("unexpected scheme")
|
||
|
}
|
||
|
if th.Host != "example.com:80" {
|
||
|
t.Fatal("unexpected host")
|
||
|
}
|
||
|
})
|
||
|
|
||
|
t.Run("failure case", func(t *testing.T) {
|
||
|
c := Config{
|
||
|
TestHelper: "\t",
|
||
|
}
|
||
|
th, _ := c.testhelper("google.com")
|
||
|
if th != nil {
|
||
|
t.Fatal("expected nil url")
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestConfig_clientid(t *testing.T) {
|
||
|
c := Config{}
|
||
|
if c.clientid() != 0 {
|
||
|
t.Fatal("invalid default ClientHello ID")
|
||
|
}
|
||
|
}
|