ooni-probe-cli/internal/engine/experiment/tlsmiddlebox/config_test.go

84 lines
1.6 KiB
Go
Raw Permalink Normal View History

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")
}
}