mirror of
https://github.com/gortc/stun.git
synced 2025-10-06 09:07:04 +08:00
a:addr: implemented with ALTERNATE-SERVER
This commit is contained in:
92
addr_test.go
Normal file
92
addr_test.go
Normal file
@@ -0,0 +1,92 @@
|
||||
package stun
|
||||
|
||||
import (
|
||||
"net"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMappedAddress(t *testing.T) {
|
||||
m := new(Message)
|
||||
addr := &MappedAddress{
|
||||
IP: net.ParseIP("122.12.34.5"),
|
||||
Port: 5412,
|
||||
}
|
||||
t.Run("AddTo", func(t *testing.T) {
|
||||
if err := addr.AddTo(m); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
t.Run("GetFrom", func(t *testing.T) {
|
||||
got := new(MappedAddress)
|
||||
if err := got.GetFrom(m); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if !got.IP.Equal(addr.IP) {
|
||||
t.Error("got bad IP: ", got.IP)
|
||||
}
|
||||
t.Run("Not found", func(t *testing.T) {
|
||||
message := new(Message)
|
||||
if err := got.GetFrom(message); err != ErrAttributeNotFound {
|
||||
t.Error("should be not found: ", err)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func TestAlternateServer(t *testing.T) {
|
||||
m := new(Message)
|
||||
addr := &AlternateServer{
|
||||
IP: net.ParseIP("122.12.34.5"),
|
||||
Port: 5412,
|
||||
}
|
||||
t.Run("AddTo", func(t *testing.T) {
|
||||
if err := addr.AddTo(m); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
t.Run("GetFrom", func(t *testing.T) {
|
||||
got := new(AlternateServer)
|
||||
if err := got.GetFrom(m); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if !got.IP.Equal(addr.IP) {
|
||||
t.Error("got bad IP: ", got.IP)
|
||||
}
|
||||
t.Run("Not found", func(t *testing.T) {
|
||||
message := new(Message)
|
||||
if err := got.GetFrom(message); err != ErrAttributeNotFound {
|
||||
t.Error("should be not found: ", err)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func BenchmarkMappedAddress_AddTo(b *testing.B) {
|
||||
m := new(Message)
|
||||
b.ReportAllocs()
|
||||
addr := &MappedAddress{
|
||||
IP: net.ParseIP("122.12.34.5"),
|
||||
Port: 5412,
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err := addr.AddTo(m); err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
m.Reset()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkAlternateServer_AddTo(b *testing.B) {
|
||||
m := new(Message)
|
||||
b.ReportAllocs()
|
||||
addr := &AlternateServer{
|
||||
IP: net.ParseIP("122.12.34.5"),
|
||||
Port: 5412,
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err := addr.AddTo(m); err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
m.Reset()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user