mirror of https://github.com/v2ray/v2ray-core
more json test cases
parent
be57f48bb3
commit
c74bcc9c50
|
@ -35,3 +35,12 @@ func TestDomainParsing(t *testing.T) {
|
||||||
assert.Bool(address.Address.IsDomain()).IsTrue()
|
assert.Bool(address.Address.IsDomain()).IsTrue()
|
||||||
assert.StringLiteral(address.Address.Domain()).Equals("v2ray.com")
|
assert.StringLiteral(address.Address.Domain()).Equals("v2ray.com")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInvalidJson(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
rawJson := "1234"
|
||||||
|
var address AddressJson
|
||||||
|
err := json.Unmarshal([]byte(rawJson), &address)
|
||||||
|
assert.Error(err).IsNotNil()
|
||||||
|
}
|
||||||
|
|
|
@ -30,3 +30,11 @@ func TestStringNetworkList(t *testing.T) {
|
||||||
assert.Bool(list.HasNetwork(Network("tcp"))).IsTrue()
|
assert.Bool(list.HasNetwork(Network("tcp"))).IsTrue()
|
||||||
assert.Bool(list.HasNetwork(Network("udp"))).IsFalse()
|
assert.Bool(list.HasNetwork(Network("udp"))).IsFalse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInvalidJson(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
var list NetworkList
|
||||||
|
err := json.Unmarshal([]byte("0"), &list)
|
||||||
|
assert.Error(err).IsNotNil()
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
// +build json
|
||||||
|
|
||||||
|
package protocol_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
. "github.com/v2ray/v2ray-core/common/protocol"
|
||||||
|
v2testing "github.com/v2ray/v2ray-core/testing"
|
||||||
|
"github.com/v2ray/v2ray-core/testing/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestUserParsing(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
user := new(User)
|
||||||
|
err := json.Unmarshal([]byte(`{
|
||||||
|
"id": "96edb838-6d68-42ef-a933-25f7ac3a9d09",
|
||||||
|
"email": "love@v2ray.com",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 100
|
||||||
|
}`), user)
|
||||||
|
assert.Error(err).IsNil()
|
||||||
|
assert.String(user.ID).Equals("96edb838-6d68-42ef-a933-25f7ac3a9d09")
|
||||||
|
assert.Byte(byte(user.Level)).Equals(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInvalidUserJson(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
user := new(User)
|
||||||
|
err := json.Unmarshal([]byte(`{"id": 1234}`), user)
|
||||||
|
assert.Error(err).IsNotNil()
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInvalidIdJson(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
user := new(User)
|
||||||
|
err := json.Unmarshal([]byte(`{"id": "1234"}`), user)
|
||||||
|
assert.Error(err).IsNotNil()
|
||||||
|
}
|
|
@ -95,6 +95,14 @@ func (this *InboundDetourAllocationConfig) UnmarshalJSON(data []byte) error {
|
||||||
this.Strategy = jsonConfig.Strategy
|
this.Strategy = jsonConfig.Strategy
|
||||||
this.Concurrency = jsonConfig.Concurrency
|
this.Concurrency = jsonConfig.Concurrency
|
||||||
this.Refresh = jsonConfig.RefreshMin
|
this.Refresh = jsonConfig.RefreshMin
|
||||||
|
if this.Strategy == AllocationStrategyRandom {
|
||||||
|
if this.Refresh == 0 {
|
||||||
|
this.Refresh = 5
|
||||||
|
}
|
||||||
|
if this.Concurrency == 0 {
|
||||||
|
this.Concurrency = 3
|
||||||
|
}
|
||||||
|
}
|
||||||
if this.Refresh == 0 {
|
if this.Refresh == 0 {
|
||||||
this.Refresh = DefaultRefreshMinute
|
this.Refresh = DefaultRefreshMinute
|
||||||
}
|
}
|
||||||
|
@ -128,14 +136,6 @@ func (this *InboundDetourConfig) UnmarshalJSON(data []byte) error {
|
||||||
Refresh: DefaultRefreshMinute,
|
Refresh: DefaultRefreshMinute,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if this.Allocation.Strategy == AllocationStrategyRandom {
|
|
||||||
if this.Allocation.Refresh == DefaultRefreshMinute {
|
|
||||||
this.Allocation.Refresh = 5
|
|
||||||
}
|
|
||||||
if this.Allocation.Concurrency == 0 {
|
|
||||||
this.Allocation.Concurrency = 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue