| 
									
										
										
										
											2016-02-27 00:05:53 +01:00
										 |  |  | package raw_test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-27 17:28:21 +01:00
										 |  |  | 	"github.com/v2ray/v2ray-core/common/alloc" | 
					
						
							| 
									
										
										
										
											2016-02-27 00:05:53 +01:00
										 |  |  | 	netassert "github.com/v2ray/v2ray-core/common/net/testing/assert" | 
					
						
							|  |  |  | 	"github.com/v2ray/v2ray-core/common/protocol" | 
					
						
							|  |  |  | 	. "github.com/v2ray/v2ray-core/common/protocol/raw" | 
					
						
							|  |  |  | 	"github.com/v2ray/v2ray-core/common/uuid" | 
					
						
							|  |  |  | 	v2testing "github.com/v2ray/v2ray-core/testing" | 
					
						
							|  |  |  | 	"github.com/v2ray/v2ray-core/testing/assert" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestSwitchAccount(t *testing.T) { | 
					
						
							|  |  |  | 	v2testing.Current(t) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	sa := &protocol.CommandSwitchAccount{ | 
					
						
							|  |  |  | 		Port:     1234, | 
					
						
							|  |  |  | 		ID:       uuid.New(), | 
					
						
							|  |  |  | 		AlterIds: 1024, | 
					
						
							|  |  |  | 		Level:    128, | 
					
						
							|  |  |  | 		ValidMin: 16, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-27 17:28:21 +01:00
										 |  |  | 	buffer := alloc.NewBuffer().Clear() | 
					
						
							| 
									
										
										
										
											2016-02-27 00:05:53 +01:00
										 |  |  | 	err := MarshalCommand(sa, buffer) | 
					
						
							|  |  |  | 	assert.Error(err).IsNil() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-27 17:28:21 +01:00
										 |  |  | 	cmd, err := UnmarshalCommand(1, buffer.Value[2:]) | 
					
						
							| 
									
										
										
										
											2016-02-27 00:05:53 +01:00
										 |  |  | 	assert.Error(err).IsNil() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	sa2, ok := cmd.(*protocol.CommandSwitchAccount) | 
					
						
							|  |  |  | 	assert.Bool(ok).IsTrue() | 
					
						
							|  |  |  | 	assert.Pointer(sa.Host).IsNil() | 
					
						
							|  |  |  | 	assert.Pointer(sa2.Host).IsNil() | 
					
						
							|  |  |  | 	netassert.Port(sa.Port).Equals(sa2.Port) | 
					
						
							|  |  |  | 	assert.String(sa.ID).Equals(sa2.ID.String()) | 
					
						
							|  |  |  | 	assert.Uint16(sa.AlterIds.Value()).Equals(sa2.AlterIds.Value()) | 
					
						
							|  |  |  | 	assert.Byte(byte(sa.Level)).Equals(byte(sa2.Level)) | 
					
						
							|  |  |  | 	assert.Byte(sa.ValidMin).Equals(sa2.ValidMin) | 
					
						
							|  |  |  | } |