123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package basic
- import (
- "fmt"
- "io"
- "net/http"
- "github.com/onsi/ginkgo/v2"
- "github.com/tidwall/gjson"
- "github.com/fatedier/frp/test/e2e/framework"
- "github.com/fatedier/frp/test/e2e/framework/consts"
- )
- var _ = ginkgo.Describe("[Feature: Annotations]", func() {
- f := framework.NewDefaultFramework()
- ginkgo.It("Set Proxy Annotations", func() {
- webPort := f.AllocPort()
- serverConf := consts.DefaultServerConfig + fmt.Sprintf(`
- webServer.port = %d
- `, webPort)
- p1Port := f.AllocPort()
- clientConf := consts.DefaultClientConfig + fmt.Sprintf(`
- [[proxies]]
- name = "p1"
- type = "tcp"
- localPort = {{ .%s }}
- remotePort = %d
- [proxies.annotations]
- "frp.e2e.test/foo" = "value1"
- "frp.e2e.test/bar" = "value2"
- `, framework.TCPEchoServerPort, p1Port)
- f.RunProcesses([]string{serverConf}, []string{clientConf})
- framework.NewRequestExpect(f).Port(p1Port).Ensure()
- // check annotations in frps
- resp, err := http.Get(fmt.Sprintf("http://127.0.0.1:%d/api/proxy/tcp/%s", webPort, "p1"))
- framework.ExpectNoError(err)
- framework.ExpectEqual(resp.StatusCode, 200)
- defer resp.Body.Close()
- content, err := io.ReadAll(resp.Body)
- framework.ExpectNoError(err)
- annotations := gjson.Get(string(content), "conf.annotations").Map()
- framework.ExpectEqual("value1", annotations["frp.e2e.test/foo"].String())
- framework.ExpectEqual("value2", annotations["frp.e2e.test/bar"].String())
- })
- })
|