From e3b7472239e5e9eadc447e66db5b02c8d944c3fc Mon Sep 17 00:00:00 2001 From: 9seconds Date: Tue, 23 Mar 2021 21:24:16 +0300 Subject: [PATCH] Add test for handshake frame --- .../handshake_frame_internal_test.go | 46 +++++++++++++++++++ mtglib/internal/relay/init.go | 5 ++ 2 files changed, 51 insertions(+) create mode 100644 mtglib/internal/obfuscated2/handshake_frame_internal_test.go create mode 100644 mtglib/internal/relay/init.go diff --git a/mtglib/internal/obfuscated2/handshake_frame_internal_test.go b/mtglib/internal/obfuscated2/handshake_frame_internal_test.go new file mode 100644 index 0000000..c5c8eee --- /dev/null +++ b/mtglib/internal/obfuscated2/handshake_frame_internal_test.go @@ -0,0 +1,46 @@ +package obfuscated2 + +import ( + "encoding/base64" + "testing" + + "github.com/stretchr/testify/suite" +) + +type HandshakeFrameTestSuite struct { + suite.Suite +} + +func (suite *HandshakeFrameTestSuite) Decode(value string) []byte { + v, err := base64.RawStdEncoding.DecodeString(value) + suite.NoError(err) + + return v +} + +func (suite *HandshakeFrameTestSuite) Encode(value []byte) string { + return base64.RawStdEncoding.EncodeToString(value) +} + +func (suite *HandshakeFrameTestSuite) TestOk() { + hf := handshakeFrame{} + testFrame := suite.Decode( + "L9TmCzzxl9bPKODBpZeVM/qqNUxQ/axxBup1S2ymbIfUd6f7YSyzzM9EmTFv2/XzGqJGEHuj2zofmUGBLghu5g") + copy(hf.data[:], testFrame) + + suite.Equal("zyjgwaWXlTP6qjVMUP2scQbqdUtspmyH1Hen+2Ess8w", suite.Encode(hf.key())) + suite.Equal("z0SZMW/b9fMaokYQe6PbOg", suite.Encode(hf.iv())) + suite.Equal("H5lBgQ", suite.Encode(hf.connectionType())) + suite.EqualValues(2093, hf.dc()) + + inverted := hf.invert() + suite.Equal("OtujexBGohrz9dtvMZlEz8yzLGH7p3fUh2ymbEt16gY", suite.Encode(inverted.key())) + suite.Equal("caz9UEw1qvozlZelweAozw", suite.Encode(inverted.iv())) + suite.Equal("H5lBgQ", suite.Encode(inverted.connectionType())) + suite.EqualValues(2093, inverted.dc()) +} + +func TestHandshakeFrame(t *testing.T) { + t.Parallel() + suite.Run(t, &HandshakeFrameTestSuite{}) +} diff --git a/mtglib/internal/relay/init.go b/mtglib/internal/relay/init.go new file mode 100644 index 0000000..c381a4a --- /dev/null +++ b/mtglib/internal/relay/init.go @@ -0,0 +1,5 @@ +package relay + +type Logger interface { + Printf(msg string, args ...interface{}) +}