46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package router
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestEncodeHostInfo(t *testing.T) {
|
|
host := EncodeHost("aaabbbcccddd", "10.0.0.1", HostOpts{})
|
|
assert.Equal(t, "ip10-0-0-1-aaabbbcccddd", host)
|
|
|
|
opts := HostOpts{EncodedPort: 8080}
|
|
host = EncodeHost("aaabbbcccddd", "10.0.0.1", opts)
|
|
assert.Equal(t, "ip10-0-0-1-aaabbbcccddd-8080", host)
|
|
|
|
opts = HostOpts{TLD: "foo.bar"}
|
|
host = EncodeHost("aaabbbcccddd", "10.0.0.1", opts)
|
|
assert.Equal(t, "ip10-0-0-1-aaabbbcccddd.foo.bar", host)
|
|
|
|
opts = HostOpts{TLD: "foo.bar", EncodedPort: 8080, Port: 443}
|
|
host = EncodeHost("aaabbbcccddd", "10.0.0.1", opts)
|
|
assert.Equal(t, "ip10-0-0-1-aaabbbcccddd-8080.foo.bar:443", host)
|
|
}
|
|
|
|
func TestDecodeHostInfo(t *testing.T) {
|
|
info, err := DecodeHost("ip10-0-0-1-aaabbbcccddd")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, HostInfo{InstanceIP: "10.0.0.1", SessionId: "aaabbbcccddd"}, info)
|
|
|
|
info, err = DecodeHost("ip10-0-0-1-aaabbbcccddd-8080")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, HostInfo{InstanceIP: "10.0.0.1", SessionId: "aaabbbcccddd", EncodedPort: 8080}, info)
|
|
|
|
info, err = DecodeHost("ip10-0-0-1-aaabbbcccddd-8080.foo.bar")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, HostInfo{InstanceIP: "10.0.0.1", SessionId: "aaabbbcccddd", EncodedPort: 8080, TLD: "foo.bar"}, info)
|
|
|
|
info, err = DecodeHost("ip10-0-0-1-aaabbbcccddd-8080.foo.bar:443")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, HostInfo{InstanceIP: "10.0.0.1", SessionId: "aaabbbcccddd", EncodedPort: 8080, TLD: "foo.bar", Port: 443}, info)
|
|
|
|
_, err = DecodeHost("ip10-0-0-1")
|
|
assert.NotNil(t, err)
|
|
}
|