diff --git a/network_test.go b/network_test.go index df19a73d74..8e56c04ac2 100644 --- a/network_test.go +++ b/network_test.go @@ -18,6 +18,32 @@ func TestIptables(t *testing.T) { } } +func TestParseNat(t *testing.T) { + if nat, err := parseNat("4500"); err == nil { + if nat.Frontend != 0 || nat.Backend != 4500 { + t.Errorf("-p 4500 should produce 0->4500, got %d->%d", nat.Frontend, nat.Backend) + } + } else { + t.Fatal(err) + } + + if nat, err := parseNat(":4501"); err == nil { + if nat.Frontend != 4501 || nat.Backend != 4501 { + t.Errorf("-p :4501 should produce 4501->4501, got %d->%d", nat.Frontend, nat.Backend) + } + } else { + t.Fatal(err) + } + + if nat, err := parseNat("4502:4503"); err == nil { + if nat.Frontend != 4502 || nat.Backend != 4503 { + t.Errorf("-p 4502:4503 should produce 4502->4503, got %d->%d", nat.Frontend, nat.Backend) + } + } else { + t.Fatal(err) + } +} + func TestPortAllocation(t *testing.T) { allocator, err := newPortAllocator() if err != nil {