| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | // +build json | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package point_test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 	"encoding/json" | 
					
						
							|  |  |  | 	"os" | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	"path/filepath" | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	_ "github.com/v2ray/v2ray-core/app/router/rules" | 
					
						
							|  |  |  | 	. "github.com/v2ray/v2ray-core/shell/point" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/v2ray/v2ray-core/testing/assert" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestClientSampleConfig(t *testing.T) { | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert := assert.On(t) | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 	GOPATH := os.Getenv("GOPATH") | 
					
						
							|  |  |  | 	baseDir := filepath.Join(GOPATH, "src", "github.com", "v2ray", "v2ray-core", "release", "config") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	pointConfig, err := LoadConfig(filepath.Join(baseDir, "vpoint_socks_vmess.json")) | 
					
						
							|  |  |  | 	assert.Error(err).IsNil() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	assert.Pointer(pointConfig.InboundConfig).IsNotNil() | 
					
						
							| 
									
										
										
										
											2016-06-04 00:38:22 +02:00
										 |  |  | 	assert.Port(pointConfig.InboundConfig.Port).IsValid() | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.OutboundConfig).IsNotNil() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert.String(pointConfig.InboundConfig.Protocol).Equals("socks") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.InboundConfig.Settings).IsNotNil() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert.String(pointConfig.OutboundConfig.Protocol).Equals("vmess") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.OutboundConfig.Settings).IsNotNil() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestServerSampleConfig(t *testing.T) { | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert := assert.On(t) | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 	GOPATH := os.Getenv("GOPATH") | 
					
						
							|  |  |  | 	baseDir := filepath.Join(GOPATH, "src", "github.com", "v2ray", "v2ray-core", "release", "config") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	pointConfig, err := LoadConfig(filepath.Join(baseDir, "vpoint_vmess_freedom.json")) | 
					
						
							|  |  |  | 	assert.Error(err).IsNil() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	assert.Pointer(pointConfig.InboundConfig).IsNotNil() | 
					
						
							| 
									
										
										
										
											2016-06-04 00:38:22 +02:00
										 |  |  | 	assert.Port(pointConfig.InboundConfig.Port).IsValid() | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.OutboundConfig).IsNotNil() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert.String(pointConfig.InboundConfig.Protocol).Equals("vmess") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.InboundConfig.Settings).IsNotNil() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert.String(pointConfig.OutboundConfig.Protocol).Equals("freedom") | 
					
						
							| 
									
										
										
										
											2016-01-17 21:43:10 +01:00
										 |  |  | 	assert.Pointer(pointConfig.OutboundConfig.Settings).IsNotNil() | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | func TestDefaultValueOfRandomAllocation(t *testing.T) { | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert := assert.On(t) | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	rawJson := `{ | 
					
						
							|  |  |  |     "protocol": "vmess", | 
					
						
							|  |  |  |     "port": 1, | 
					
						
							|  |  |  |     "settings": {}, | 
					
						
							|  |  |  |     "allocate": { | 
					
						
							|  |  |  |       "strategy": "random" | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	inboundDetourConfig := new(InboundDetourConfig) | 
					
						
							|  |  |  | 	err := json.Unmarshal([]byte(rawJson), inboundDetourConfig) | 
					
						
							|  |  |  | 	assert.Error(err).IsNil() | 
					
						
							| 
									
										
										
										
											2016-05-24 21:55:46 +02:00
										 |  |  | 	assert.String(inboundDetourConfig.Allocation.Strategy).Equals(AllocationStrategyRandom) | 
					
						
							| 
									
										
										
										
											2016-02-04 10:25:36 +00:00
										 |  |  | 	assert.Int(inboundDetourConfig.Allocation.Concurrency).Equals(3) | 
					
						
							|  |  |  | 	assert.Int(inboundDetourConfig.Allocation.Refresh).Equals(5) | 
					
						
							|  |  |  | } |