Files
moby/daemon/libnetwork/portmapperapi/api_test.go
Derek McGowan f74e5d48b3 Create github.com/moby/moby/v2 module
Signed-off-by: Derek McGowan <derek@mcg.dev>
2025-07-31 10:13:29 -07:00

68 lines
1.6 KiB
Go

package portmapperapi
import (
"net"
"testing"
"github.com/moby/moby/v2/daemon/libnetwork/types"
"gotest.tools/v3/assert"
)
func TestPortBindingReqsCompare(t *testing.T) {
pb := PortBindingReq{
PortBinding: types.PortBinding{
Proto: types.TCP,
IP: net.ParseIP("172.17.0.2"),
Port: 80,
HostIP: net.ParseIP("192.168.1.2"),
HostPort: 8080,
HostPortEnd: 8080,
},
}
var pbA, pbB PortBindingReq
assert.Check(t, pb.Compare(pb) == 0) //nolint:gocritic // ignore "dupArg: suspicious method call with the same argument and receiver (gocritic)"
pbA, pbB = pb, pb
pbB.Mapper = "routed"
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbA.Port = 22
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbB.Proto = types.UDP
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbA.Port = 22
pbA.Proto = types.UDP
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbB.HostPort = 8081
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbB.HostPort, pbB.HostPortEnd = 0, 0
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbB.HostPortEnd = 8081
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
pbA, pbB = pb, pb
pbA.HostPortEnd = 8080
pbB.HostPortEnd = 8081
assert.Check(t, pbA.Compare(pbB) < 0)
assert.Check(t, pbB.Compare(pbA) > 0)
}