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.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("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.Concurrency = jsonConfig.Concurrency | ||||
| 	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 { | ||||
| 		this.Refresh = DefaultRefreshMinute | ||||
| 	} | ||||
|  | @ -128,14 +136,6 @@ func (this *InboundDetourConfig) UnmarshalJSON(data []byte) error { | |||
| 			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 | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Darien Raymond
						Darien Raymond