mirror of https://github.com/cbeuw/Cloak
36 lines
746 B
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)
|
|
}
|
|
|
|
}
|