mirror of
https://github.com/fatedier/frp.git
synced 2025-08-02 20:11:46 +00:00
new e2e framework (#1835)
This commit is contained in:
60
test/e2e/framework/mockservers.go
Normal file
60
test/e2e/framework/mockservers.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package framework
|
||||
|
||||
import (
|
||||
"github.com/fatedier/frp/test/e2e/mock/echoserver"
|
||||
"github.com/fatedier/frp/test/e2e/pkg/port"
|
||||
)
|
||||
|
||||
const (
|
||||
TCPEchoServerPort = "TCPEchoServerPort"
|
||||
UDPEchoServerPort = "UDPEchoServerPort"
|
||||
)
|
||||
|
||||
type MockServers struct {
|
||||
tcpEchoServer *echoserver.Server
|
||||
udpEchoServer *echoserver.Server
|
||||
}
|
||||
|
||||
func NewMockServers(portAllocator *port.Allocator) *MockServers {
|
||||
s := &MockServers{}
|
||||
tcpPort := portAllocator.Get()
|
||||
udpPort := portAllocator.Get()
|
||||
s.tcpEchoServer = echoserver.New(echoserver.Options{
|
||||
Type: echoserver.TCP,
|
||||
BindAddr: "127.0.0.1",
|
||||
BindPort: int32(tcpPort),
|
||||
RepeatNum: 1,
|
||||
})
|
||||
s.udpEchoServer = echoserver.New(echoserver.Options{
|
||||
Type: echoserver.UDP,
|
||||
BindAddr: "127.0.0.1",
|
||||
BindPort: int32(udpPort),
|
||||
RepeatNum: 1,
|
||||
})
|
||||
return s
|
||||
}
|
||||
|
||||
func (m *MockServers) Run() error {
|
||||
if err := m.tcpEchoServer.Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.udpEchoServer.Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MockServers) GetTemplateParams() map[string]interface{} {
|
||||
ret := make(map[string]interface{})
|
||||
ret[TCPEchoServerPort] = m.tcpEchoServer.GetOptions().BindPort
|
||||
ret[UDPEchoServerPort] = m.udpEchoServer.GetOptions().BindPort
|
||||
return ret
|
||||
}
|
||||
|
||||
func (m *MockServers) GetParam(key string) interface{} {
|
||||
params := m.GetTemplateParams()
|
||||
if v, ok := params[key]; ok {
|
||||
return v
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user