package framework import ( "time" "github.com/fatedier/frp/test/e2e/pkg/request" ) func ExpectRequest(protocol string, port int, in, out []byte, timeout time.Duration, explain ...interface{}) { switch protocol { case "tcp": ExpectTCPRequest(port, in, out, timeout, explain...) case "udp": ExpectUDPRequest(port, in, out, timeout, explain...) default: Failf("ExpectRequest not support protocol: %s", protocol) } } func ExpectRequestError(protocol string, port int, in []byte, timeout time.Duration, explain ...interface{}) { switch protocol { case "tcp": ExpectTCPRequestError(port, in, timeout, explain...) case "udp": ExpectUDPRequestError(port, in, timeout, explain...) default: Failf("ExpectRequestError not support protocol: %s", protocol) } } func ExpectTCPRequest(port int, in, out []byte, timeout time.Duration, explain ...interface{}) { res, err := request.SendTCPRequest(port, in, timeout) ExpectNoError(err, explain...) ExpectEqual(string(out), res, explain...) } func ExpectTCPRequestError(port int, in []byte, timeout time.Duration, explain ...interface{}) { _, err := request.SendTCPRequest(port, in, timeout) ExpectError(err, explain...) } func ExpectUDPRequest(port int, in, out []byte, timeout time.Duration, explain ...interface{}) { res, err := request.SendUDPRequest(port, in, timeout) ExpectNoError(err, explain...) ExpectEqual(string(out), res, explain...) } func ExpectUDPRequestError(port int, in []byte, timeout time.Duration, explain ...interface{}) { _, err := request.SendUDPRequest(port, in, timeout) ExpectError(err, explain...) }