|  | @@ -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()
 | 
	
		
			
				|  |  | +}
 |