From 43f5d2131ed0d56a27c1ed553664551a9e40f1a8 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Thu, 8 Apr 2021 15:26:49 +0300 Subject: [PATCH] Add test for client hello validation --- mtglib/internal/faketls/client_hello_test.go | 32 ++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/mtglib/internal/faketls/client_hello_test.go b/mtglib/internal/faketls/client_hello_test.go index f088cf2..4d5ad53 100644 --- a/mtglib/internal/faketls/client_hello_test.go +++ b/mtglib/internal/faketls/client_hello_test.go @@ -153,6 +153,38 @@ func (suite *ClientHelloTestSuite) TestSnapshotBad() { } } +func (suite *ClientHelloTestSuite) TestValidateHostname() { + hello := faketls.ClientHello{ + Time: time.Now(), + } + suite.NoError(hello.Valid("hostname", time.Second)) + + hello.Host = "hostname" + suite.Error(hello.Valid("hostname2", time.Second)) + suite.NoError(hello.Valid("hostname", time.Second)) +} + +func (suite *ClientHelloTestSuite) TestValidateTime() { + testData := []time.Duration{ + -2 * time.Second, + 2 * time.Second, + } + + for _, v := range testData { + value := v + + suite.T().Run(value.String(), func(t *testing.T) { + hello := faketls.ClientHello{ + Host: "hostname", + Time: time.Now().Add(value), + } + suite.Error(hello.Valid("hostname", 500*time.Millisecond)) + suite.Error(hello.Valid("hostname", time.Second)) + suite.NoError(hello.Valid("hostname", 3*time.Second)) + }) + } +} + func TestClientHello(t *testing.T) { t.Parallel() suite.Run(t, &ClientHelloTestSuite{})