Cloak/internal/multiplex/obfs_test.go

36 lines
746 B
Go

package multiplex
import (
"math/rand"
"reflect"
"testing"
"testing/quick"
)
func TestOobfs(t *testing.T) {
sessionKey := make([]byte, 32)
rand.Read(sessionKey)
obfuscator, err := GenerateObfs(0x01, sessionKey)
if err != nil {
t.Errorf("failed to generate obfuscator %v", err)
}
f := &Frame{}
_testFrame, _ := quick.Value(reflect.TypeOf(f), rand.New(rand.NewSource(42)))
testFrame := _testFrame.Interface().(*Frame)
obfsed, err := obfuscator.Obfs(testFrame)
if err != nil {
t.Error("failed to obfs ", err)
}
resultFrame, err := obfuscator.Deobfs(obfsed)
if err != nil {
t.Error("failed to deobfs ", err)
}
if !reflect.DeepEqual(testFrame, resultFrame) {
t.Error("expecting", testFrame,
"got", resultFrame)
}
}