package conf_test import ( "encoding/json" "testing" "v2ray.com/core/common/protocol" "v2ray.com/core/proxy/vmess/outbound" "v2ray.com/core/testing/assert" . "v2ray.com/core/tools/conf" ) func TestConfigTargetParsing(t *testing.T) { assert := assert.On(t) rawJson := `{ "vnext": [{ "address": "127.0.0.1", "port": 80, "users": [ { "id": "e641f5ad-9397-41e3-bf1a-e8740dfed019", "email": "love@v2ray.com", "level": 255 } ] }] }` rawConfig := new(VMessOutboundConfig) err := json.Unmarshal([]byte(rawJson), &rawConfig) assert.Error(err).IsNil() ts, err := rawConfig.Build() assert.Error(err).IsNil() iConfig, err := ts.GetInstance() assert.Error(err).IsNil() config := iConfig.(*outbound.Config) specPB := config.Receiver[0] spec := protocol.NewServerSpecFromPB(*specPB) assert.Destination(spec.Destination()).EqualsString("tcp:127.0.0.1:80") }