github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/infra/conf/v4/freedom_test.go (about) 1 package v4_test 2 3 import ( 4 "testing" 5 6 "github.com/v2fly/v2ray-core/v5/common/net" 7 "github.com/v2fly/v2ray-core/v5/common/protocol" 8 "github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon" 9 "github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon/testassist" 10 v4 "github.com/v2fly/v2ray-core/v5/infra/conf/v4" 11 "github.com/v2fly/v2ray-core/v5/proxy/freedom" 12 ) 13 14 func TestFreedomConfig(t *testing.T) { 15 creator := func() cfgcommon.Buildable { 16 return new(v4.FreedomConfig) 17 } 18 19 testassist.RunMultiTestCase(t, []testassist.TestCase{ 20 { 21 Input: `{ 22 "domainStrategy": "AsIs", 23 "timeout": 10, 24 "redirect": "127.0.0.1:3366", 25 "userLevel": 1 26 }`, 27 Parser: testassist.LoadJSON(creator), 28 Output: &freedom.Config{ 29 DomainStrategy: freedom.Config_AS_IS, 30 Timeout: 10, 31 DestinationOverride: &freedom.DestinationOverride{ 32 Server: &protocol.ServerEndpoint{ 33 Address: &net.IPOrDomain{ 34 Address: &net.IPOrDomain_Ip{ 35 Ip: []byte{127, 0, 0, 1}, 36 }, 37 }, 38 Port: 3366, 39 }, 40 }, 41 UserLevel: 1, 42 }, 43 }, 44 }) 45 }