mirror of https://github.com/fatedier/frp
84 lines
2.1 KiB
Go
84 lines
2.1 KiB
Go
|
package basic
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/onsi/ginkgo/v2"
|
||
|
|
||
|
"github.com/fatedier/frp/test/e2e/framework"
|
||
|
"github.com/fatedier/frp/test/e2e/framework/consts"
|
||
|
"github.com/fatedier/frp/test/e2e/pkg/port"
|
||
|
)
|
||
|
|
||
|
var _ = ginkgo.Describe("[Feature: Config]", func() {
|
||
|
f := framework.NewDefaultFramework()
|
||
|
|
||
|
ginkgo.Describe("Template", func() {
|
||
|
ginkgo.It("render by env", func() {
|
||
|
serverConf := consts.LegacyDefaultServerConfig
|
||
|
clientConf := consts.LegacyDefaultClientConfig
|
||
|
|
||
|
portName := port.GenName("TCP")
|
||
|
serverConf += fmt.Sprintf(`
|
||
|
token = {{ %s{{ .Envs.FRP_TOKEN }}%s }}
|
||
|
`, "`", "`")
|
||
|
|
||
|
clientConf += fmt.Sprintf(`
|
||
|
token = {{ %s{{ .Envs.FRP_TOKEN }}%s }}
|
||
|
|
||
|
[tcp]
|
||
|
type = tcp
|
||
|
local_port = {{ .%s }}
|
||
|
remote_port = {{ .%s }}
|
||
|
`, "`", "`", framework.TCPEchoServerPort, portName)
|
||
|
|
||
|
f.SetEnvs([]string{"FRP_TOKEN=123"})
|
||
|
f.RunProcesses([]string{serverConf}, []string{clientConf})
|
||
|
|
||
|
framework.NewRequestExpect(f).PortName(portName).Ensure()
|
||
|
})
|
||
|
})
|
||
|
|
||
|
ginkgo.Describe("Includes", func() {
|
||
|
ginkgo.It("split tcp proxies into different files", func() {
|
||
|
serverPort := f.AllocPort()
|
||
|
serverConfigPath := f.GenerateConfigFile(fmt.Sprintf(`
|
||
|
[common]
|
||
|
bind_addr = 0.0.0.0
|
||
|
bind_port = %d
|
||
|
`, serverPort))
|
||
|
|
||
|
remotePort := f.AllocPort()
|
||
|
proxyConfigPath := f.GenerateConfigFile(fmt.Sprintf(`
|
||
|
[tcp]
|
||
|
type = tcp
|
||
|
local_port = %d
|
||
|
remote_port = %d
|
||
|
`, f.PortByName(framework.TCPEchoServerPort), remotePort))
|
||
|
|
||
|
remotePort2 := f.AllocPort()
|
||
|
proxyConfigPath2 := f.GenerateConfigFile(fmt.Sprintf(`
|
||
|
[tcp2]
|
||
|
type = tcp
|
||
|
local_port = %d
|
||
|
remote_port = %d
|
||
|
`, f.PortByName(framework.TCPEchoServerPort), remotePort2))
|
||
|
|
||
|
clientConfigPath := f.GenerateConfigFile(fmt.Sprintf(`
|
||
|
[common]
|
||
|
server_port = %d
|
||
|
includes = %s,%s
|
||
|
`, serverPort, proxyConfigPath, proxyConfigPath2))
|
||
|
|
||
|
_, _, err := f.RunFrps("-c", serverConfigPath)
|
||
|
framework.ExpectNoError(err)
|
||
|
|
||
|
_, _, err = f.RunFrpc("-c", clientConfigPath)
|
||
|
framework.ExpectNoError(err)
|
||
|
|
||
|
framework.NewRequestExpect(f).Port(remotePort).Ensure()
|
||
|
framework.NewRequestExpect(f).Port(remotePort2).Ensure()
|
||
|
})
|
||
|
})
|
||
|
})
|