| 
					
				 | 
			
			
				@@ -126,6 +126,51 @@ func TestSocksTcpConnectWithUserPass(t *testing.T) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	assert.String(targetServer).Equals(och.Destination.Address().String()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func TestSocksTcpConnectWithWrongUserPass(t *testing.T) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	assert := unit.Assert(t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	port := uint16(12389) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	och := &mocks.OutboundConnectionHandler{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Data2Send:   bytes.NewBuffer(make([]byte, 0, 1024)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Data2Return: []byte("The data to be returned to socks server."), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	core.RegisterOutboundConnectionHandlerFactory("mock_och", och) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	config := mocks.Config{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		PortValue: port, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		InboundConfigValue: &mocks.ConnectionConfig{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ProtocolValue: "socks", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			SettingsValue: &json.SocksConfig{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AuthMethod: "password", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Accounts: []json.SocksAccount{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					json.SocksAccount{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						Username: "userx", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						Password: "passy", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		OutboundConfigValue: &mocks.ConnectionConfig{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ProtocolValue: "mock_och", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			SettingsValue: nil, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	point, err := core.NewPoint(&config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	assert.Error(err).IsNil() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err = point.Start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	assert.Error(err).IsNil() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	socks5Client, err := proxy.SOCKS5("tcp", "127.0.0.1:12389", &proxy.Auth{"userx", "passz"}, proxy.Direct) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	assert.Error(err).IsNil() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	targetServer := "1.2.3.4:443" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = socks5Client.Dial("tcp", targetServer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	assert.Error(err).IsNotNil() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func TestSocksUdpSend(t *testing.T) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	assert := unit.Assert(t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	port := uint16(12372) 
			 |