mirror of https://github.com/cbeuw/Cloak
Improve test coverage for client's ParseConfig
This commit is contained in:
parent
a59d9cb880
commit
c749b107e2
|
|
@ -1,20 +1,36 @@
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"io/ioutil"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSSVtoJson(t *testing.T) {
|
func TestParseConfig(t *testing.T) {
|
||||||
ssv := "UID=iGAO85zysIyR4c09CyZSLdNhtP/ckcYu7nIPI082AHA=;PublicKey=IYoUzkle/T/kriE+Ufdm7AHQtIeGnBWbhhlTbmDpUUI=;ServerName=www.bing.com;NumConn=4;MaskBrowser=chrome;"
|
ssv := "UID=iGAO85zysIyR4c09CyZSLdNhtP/ckcYu7nIPI082AHA=;PublicKey=IYoUzkle/T/kriE+Ufdm7AHQtIeGnBWbhhlTbmDpUUI=;" +
|
||||||
|
"ServerName=www.bing.com;NumConn=4;MaskBrowser=chrome;ProxyMethod=shadowsocks;EncryptionMethod=plain"
|
||||||
json := ssvToJson(ssv)
|
json := ssvToJson(ssv)
|
||||||
expected := []byte(`{"UID":"iGAO85zysIyR4c09CyZSLdNhtP/ckcYu7nIPI082AHA=","PublicKey":"IYoUzkle/T/kriE+Ufdm7AHQtIeGnBWbhhlTbmDpUUI=","ServerName":"www.bing.com","NumConn":4,"MaskBrowser":"chrome"}`)
|
expected := []byte(`{"UID":"iGAO85zysIyR4c09CyZSLdNhtP/ckcYu7nIPI082AHA=","PublicKey":"IYoUzkle/T/kriE+Ufdm7AHQtIeGnBWbhhlTbmDpUUI=","ServerName":"www.bing.com","NumConn":4,"MaskBrowser":"chrome","ProxyMethod":"shadowsocks","EncryptionMethod":"plain"}`)
|
||||||
if !bytes.Equal(expected, json) {
|
|
||||||
t.Error(
|
t.Run("byte equality", func(t *testing.T) {
|
||||||
"For", "ssvToJson",
|
assert.Equal(t, expected, json)
|
||||||
"expecting", string(expected),
|
})
|
||||||
"got", string(json),
|
|
||||||
)
|
t.Run("struct equality", func(t *testing.T) {
|
||||||
}
|
tmpConfig, _ := ioutil.TempFile("", "ck_client_config")
|
||||||
|
_, _ = tmpConfig.Write(expected)
|
||||||
|
parsedFromSSV, err := ParseConfig(ssv)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
parsedFromJson, err := ParseConfig(tmpConfig.Name())
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, parsedFromJson, parsedFromSSV)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("empty file", func(t *testing.T) {
|
||||||
|
tmpConfig, _ := ioutil.TempFile("", "ck_client_config")
|
||||||
|
_, err := ParseConfig(tmpConfig.Name())
|
||||||
|
assert.Error(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue