mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 20:52:33 +02:00
54 lines
946 B
Go
54 lines
946 B
Go
package fields
|
|
|
|
import (
|
|
"strconv"
|
|
"testing"
|
|
|
|
. "github.com/yusing/go-proxy/internal/utils/testing"
|
|
)
|
|
|
|
var validPorts = []string{
|
|
"1234:5678",
|
|
"0:2345",
|
|
"2345",
|
|
}
|
|
|
|
var invalidPorts = []string{
|
|
"",
|
|
"123:",
|
|
"0:",
|
|
":1234",
|
|
"qwerty",
|
|
"asdfgh:asdfgh",
|
|
"1234:asdfgh",
|
|
}
|
|
|
|
var outOfRangePorts = []string{
|
|
"-1:1234",
|
|
"1234:-1",
|
|
"65536",
|
|
"0:65536",
|
|
}
|
|
|
|
var tooManyColonsPorts = []string{
|
|
"1234:1234:1234",
|
|
}
|
|
|
|
func TestStreamPort(t *testing.T) {
|
|
for _, port := range validPorts {
|
|
_, err := ValidateStreamPort(port)
|
|
ExpectNoError(t, err)
|
|
}
|
|
for _, port := range invalidPorts {
|
|
_, err := ValidateStreamPort(port)
|
|
ExpectError2(t, port, strconv.ErrSyntax, err)
|
|
}
|
|
for _, port := range outOfRangePorts {
|
|
_, err := ValidateStreamPort(port)
|
|
ExpectError2(t, port, ErrPortOutOfRange, err)
|
|
}
|
|
for _, port := range tooManyColonsPorts {
|
|
_, err := ValidateStreamPort(port)
|
|
ExpectError2(t, port, ErrStreamPortTooManyColons, err)
|
|
}
|
|
}
|